我很困惑。我發現了一些非常相似的問題,或者沒有回答,或者所有的答案都表示它應該起作用。或者說它工作。JQuery AJAX到PHP獲取undefined索引
我將一個關鍵值對對象從jquery傳遞給了php。並提醒它再次成功,但如果我去的PHP頁面。它說數據是空的或未定義的索引。下面
是我的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的一面如下。我會得到there is nothing
當我去到PHP頁面,但我原來的頁面提醒value
if(!empty($_POST['obj'])){
$data = $_POST['obj'];
echo json_encode($data);
}else{
echo 'there is nothing';
}
爲什麼?
我收到提醒我放入的值。所以它必須表示數據經過並返回。但PHP頁面說,否則
變量不會在腳本的不同執行之間持續存在,會話變量除外。 – Barmar
這意味着當我點擊我的測試按鈕時數據在那裏,但是當我加載php頁面時,它消失了? – codenoob