私は非常に困惑しています。私は非常によく似た質問をした多数の投稿を見つけました。答えが無かったり、すべての答えがうまくいくはずです。それが働いたと言います。JQuery AJAXから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は、私がテストボタンをクリックしたときに、私は警告value
を取得しますが、上記のコードでは
$data = $_POST['obj']; // this is line 1
echo json_encode($data); // this is line 2
です。私はテストボタンをclikced後に私はPHPページに行く場合。ページがNotice: Undefined index: obj on line 1, and null on line 2.
の場合、私は以下のようにPHP側を変更します。私はPHPのページに進みますが、私の元のページがvalue
if(!empty($_POST['obj'])){
$data = $_POST['obj'];
echo json_encode($data);
}else{
echo 'there is nothing';
}
なぜ警告されたとき、私はthere is nothing
を得るのだろうか?
私は値を入力するようになっているので、データが通過して戻ったことを意味する必要があります。しかし、PHPのページが別の方法
変数は、セッション変数を除き、スクリプトの異なる実行の間に持続しません。 – Barmar
これは、テストボタンをクリックしたときにデータがそこにあったことを意味しますが、PHPページを読み込んだときに消えてしまいましたか? – codenoob