Ich bin sehr verwirrt. Ich fand eine Reihe von Posts mit sehr ähnlichen Fragen entweder unbeantwortet oder die ganze Antwort sagt, es sollte funktionieren. oder sagt, es hat funktioniert.JQuery AJAX zu PHP bekommt undefinierten Index
Ich übergab ein Schlüssel-Wert-Paar-Objekt von Jquery zu PHP. und warne es wieder erfolgreich wieder, aber wenn ich auf die PHP-Seite gehe. Es besagt, dass die Daten null oder nicht definiert sind.
unten ist mein 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);
}
});
});
unter meinem php
$data = $_POST['obj']; // this is line 1
echo json_encode($data); // this is line 2
Mit dem obigen Code, wenn ich Testknopf klicken, werde ich value
Benachrichtigung erhalten. aber wenn ich auf die php-seite gehe, nachdem ich den testknopf geklickt habe. Die Seite sagt Notice: Undefined index: obj on line 1, and null on line 2.
wenn ich die PHP-Seite nach unten ändern. Ich werde there is nothing
, wenn ich auf die PHP-Seite gehen, aber meine ursprüngliche Seite wird alarmiert value
if(!empty($_POST['obj'])){
$data = $_POST['obj'];
echo json_encode($data);
}else{
echo 'there is nothing';
}
Warum?
Ich werde den Wert, den ich eingegeben habe, alarmiert. Es muss also bedeuten, dass die Daten durch und zurück gingen. aber die PHP-Seite sagt, sonst
Variablen bleiben zwischen verschiedenen Ausführungen des Skripts außer für Sitzungsvariablen nicht bestehen. – Barmar
das bedeutet, dass die Daten vorhanden waren, als ich auf meine Test-Schaltfläche geklickt habe, aber als ich die PHP-Seite geladen habe, ging es weg? – codenoob