2017-12-25 3 views
0

Also ich habe alle Ihre Ratschläge über eine jQuery oder Javascript AJAX Anfrage an eine PHP-Datei auf einem Server.Wie bekomme ich Daten in PHP von AJAX jQuery Anfrage

Das Problem, das ich in zu renne ist, dass meine Antwort ist diese

Fatal error: Array Callback-Indizes 0 und 1 in

enthalten muss also hier ist meine jQuery

Diese Zeilen dienen dazu, eine Variable zu erfassen und als Daten auf dem Körperelement zu speichern, damit ich sie später verwenden kann.

Aber ich möchte, dass die gleiche Variable PHP-Datei senden, zu einem komplexen API-Anfrage hinzufügen - schließlich die Ergebnisse zurück, erstellen $ _SESSION Variablen und so weiter

var pageId = { 
     id: $("body").data("id"), 
    }; 

Aber lassen wir das als eine vermeiden Problem und nur meine Array einfach machen wie

var pageId = { 
     id: "12345", 
    }; 

    $.ajax({ 
     type: 'GET', 
     url: 'test.php', 
     data: pageId, 
     datatype: 'json', 
     cache: false, 
     success: function (data, status) { 
      alert("Data: " + data + "\nStatus: " + status); 
     } 
    }); 
}); 
}); 

und jetzt zumindest ich hatte gehofft, dass meine PHP-Datei zum testen mein Verständnis für die Konzepte einfach halten hier

<?php 

$id = $_GET('id'); 

echo json_encode($id); 

?> 

Ich erwarte die Antwort

Daten: 12345

Status: Erfolg

Aber ich die Fehlermeldung oben erhalten.

Antwort

0

Änderung $id = $_GET('id'); zu $id = $_GET['id'];

weil $ _GET, keine Funktion, es ist ein Array-Typ-Element.

+0

Und da seine Codierung json und der Ajax-Datentyp ist json, würde er brauchen auch jQuery.parseJSON verwenden() auf Daten? –

1

Sie müssen $_GET('id')-$_GET['id'] und ändern, um den Status zu senden, müssen Sie den Status auf ein Array hinzuzufügen wie unten und versuchen JSON auf Ihre Antwort zu analysieren.

<?php 

    $id = $_GET['id']; 
    $result = array("id"=>$id, "Status"=>"Success"); 

    echo json_encode($result); 

?> 

und den Zugang in jquery . verwenden wie wenn Sie Datenvariable in Erfolg verwenden dann

success:function(data){ 
    alert(data.Status); 
} 
Verwandte Themen