我很困惑。我发现很多帖子都有非常相似的问题,但要么没有得到回答,要么所有的回答都说应该可以正常工作,或者说它们已经起作用了。
我从jquery传递了一个键值对对象到php,并成功地将其弹出显示,但是如果我转到php页面,它会显示数据为null或未定义索引。
以下是我的jquery代码:
以下是我的PHP代码。
使用以上代码,当我点击测试按钮时,会弹出警示框
如果我将 PHP 代码改为下面这样,当我转到 PHP 页面时会得到
为什么会这样?
我已经收到了我输入的值的提示。所以这意味着数据已经通过并返回。但是php页面却表示相反。
我从jquery传递了一个键值对对象到php,并成功地将其弹出显示,但是如果我转到php页面,它会显示数据为null或未定义索引。
以下是我的jquery代码:
$('#test').click(function(){
var obj= {
'key': 'value',
};
$.ajax({
url: "../folder/file.php",
type: "POST",
data: {
'obj' : obj
},
dataType: "JSON",
success:function(data){
alert(data);
}
});
});
以下是我的PHP代码。
$data = $_POST['obj']; // this is line 1
echo json_encode($data); // this is line 2
使用以上代码,当我点击测试按钮时,会弹出警示框
value
。但是如果我在点击测试按钮后转到 PHP 页面,页面会显示 Notice: Undefined index: obj on line 1, and null on line 2.
。如果我将 PHP 代码改为下面这样,当我转到 PHP 页面时会得到
there is nothing
,但我的原始页面会弹出警示框 value
。if(!empty($_POST['obj'])){
$data = $_POST['obj'];
echo json_encode($data);
}else{
echo 'there is nothing';
}
为什么会这样?
我已经收到了我输入的值的提示。所以这意味着数据已经通过并返回。但是php页面却表示相反。