Frage

$.post('testeUpdate.php', 'autocomplete',
        function(dadosResposta) {

            $('#ns-nome').val(dadosResposta.nsName);
            $('#ns-endereco').val(dadosResposta.nsAddress);
        },
    "json");

Ich versuche, dies zu verstehen. So, und mit dem jquery $ .post Referenz Verbindung nahe mir:

1) Eine Post-Anforderung an testeUpdate.php senden, dann können wir einen String übergeben namens 'Autovervollständigen'. Präzise?

Frage 1) Vorbei an eine Post-Anforderung mit dieser Zeichenfolge, bedeutet, dass wir später, zum Beispiel, Verfahren, das auf Anforderung eines bedingten von speziell Punkt: $ _POST [ 'Autocomplete']; ?

2) Später haben wir eine „auf Erfolg“ Callback-Funktion, welche einen Parameter akzeptiert, dadosReposta. Präzise?

Frage 2) Dieser dadosResposta ist etwas, das von unserem Server seitiges Script kommen kann? ist dies ein Argument, um die Daten, die wir erhalten?

3) Also, auf Erfolg, was wir tun wollen ist: bevölkert einige Eingabeelemente mit einigen Werten. val (dadosResposta.nsName);

Frage (n) 3) ist diese „Punktnotation“ eine Möglichkeit, den Zugriff auf Daten auf json-Format - oder ist dies ein Weg, auf dem DOM zu gehen, wie es normalerweise tun wir? Ist dies der Fall, welche Rolle ist json spielen hier?

Vielen Dank im Voraus, MEM

War es hilfreich?

Lösung

1) Ja dann zum automatischen Vervollständigung kann mit PHP auf diese Weise zugegriffen werden. ($ _POST [ 'Autocomplete']). Aber abgesehen von der Tatsache, dass es auf isset wahr zeigen wird (.) - es werden keine Daten

2) Ja dadosResposta ist die Antwort, die vom Server zurückkommen wird. Wenn Sie die letzten Parameter als json auf $ .post Anfrage gesetzt haben, kann es nativ in javaScript als JSON-Objekt verwendet werden. So zeigen Daten auf diese Weise in PHP können Sie verwenden json_encode ()

3) Sie können tun, was Sie bitte einmal Ihre Daten kommen. Aber die Punktnotation wird nur funktionieren, wenn die json richtig formatiert ist. Ref: json.org

4) Dot-Notation ist ein Weg, um Zugriff auf die zurückgegebenen Daten im JSON-Format, hat nichts mit dem DOM zu tun. Wenn Sie den letzten Teil Ihrer ändern die Daten $ .post auf „Text“ vom Server zurückgegeben wird, kann auf als reguläre Zeichenfolge bearbeitet werden.

Andere Tipps

  1. Ja, das ist richtig, es ist der einzige Beitrag Variable, z.B. Sie überprüfen isset($_POST['autocomplete']), obwohl es scheint, dass Sie eigentlich wollen würde, um hier die Textbox Wert übergeben, da die automatische Vervollständigung stützt sich normalerweise auf das, was Sie bereits eingegeben haben.
  2. Ja Mit dieser Funktion wird ausgeführt, wenn die Antwort zurückkommt, ist das Argument, was Daten kommt von PHP-Seite.
  3. Die Antwort soll so etwas wie folgt aussehen:
     { nsName: 'name', nsAddress: 'address' }
    Es ist diesen Wert unter Verwendung dieser zwei Felder zu füllen, so dass die Punktnotation wird die Werte immer aus der Antwort , JSON ist nur so viel sauberer zu machen:)

verwendet, ich Ihren Code auf jsFiddle und versuchte, gebaut auf, was Sie haben, wie Sie kann ich sehen, gesendeten Daten an die json Echofunktion auf jsFiddle, die wie folgt geantwortet (wahrscheinlich ... wenn seine PHP):

echo json_encode(array("post_response"=>$_POST));

Wie man sehen kann ich die postdata geändert, um die Antwort entsprechen Sie wurden anfordert, auf der Server-Seite würde es in der Regel ein bisschen so aussieht in einem normalen Szenario:

if(isset($_POST['somedata']))
{
    //do stuff... you know, whatever
    echo json_encode(array("nsName" => $someString1,"nsAddress" => $someString2));
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top