Я очень озадачен. Я нашел несколько сообщений с очень похожим вопросом, либо остался без ответа, либо весь ответ говорит, что он должен работать. или говорит, что это сработало.JQuery AJAX to 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