JSON-Daten können über JQuery domänenübergreifend abgerufen werden, es muss jedoch klar sein, dass JQuery keine Daten in einem beliebigen JSON-Format über Domänen hinweg abrufen kann. Spezifische JSON-Daten zum domänenübergreifenden Lesen durch JQuery müssen über den Server ausgegeben werden. Möglicherweise haben Sie noch keine Ahnung davon, und das ist in Ordnung. Dieser Artikel wird diese Technologie auf die einfachste und verständlichste Weise vorstellen. Ich glaube, dass jeder sie leicht verstehen und tatsächlich anwenden kann.
In diesem Artikel wird hauptsächlich der Implementierungscode von JQuery vorgestellt, der $.ajax oder $.getJSON verwendet, um JSON-Daten domänenübergreifend abzurufen. Ich hoffe, dass er für alle nützlich ist .
JQuery ruft JSON-Daten in derselben Domäne ab
Zitieren Sie zunächst die jQuery-Bibliotheksdatei:
jQuery-Code:
var url="http://localhost:8000/user.php"; $(function(){ $.getJSON(url,function(data){ alert (data.name); }) });
Servercode (PHP):
<?php header('Content-Type:text/html;Charset=utf-8'); $arr = array( "name" => "xiaoming", "pass" => "123456" ); echo json_encode($arr); ?>
Server-Rückgabezeichenfolge:
{"name":"xiaoming"," pass ":123456🎜>
JQuery ruft domänenübergreifende JSON-Daten ab
Zitieren Sie zunächst die jQuery-Bibliotheksdatei: jQuery-Code:var url="http://localhost:8000/user.php?jsoncallback=?"; $(function(){ $.getJSON(url,function(data){ alert (data.name); }) });
<?php header('Content-Type:text/html;Charset=utf-8'); $arr = array( "name" => "xiaoming", "pass" => "123456" ); echo $_GET['jsoncallback']."(".json_encode($arr).")"; ?>
Der Unterschied zwischen dem Abrufen von JSON-Daten in derselben Domäne durch JQuery und domänenübergreifenden Punkten: 1) Die Schreibmethode von jQuery ist unterschiedlich zusätzlicher Parameter „jsoncallback=?“
2) Die serverseitige Rückgabezeichenfolge wird anders geschrieben. Beim Überqueren von Domänen müssen Sie den Eingabewert „‚jsoncallback‘“ verwenden. Das konstruierte Zeichenfolgenformat lautet: jsoncallback-Eingabewert (ursprüngliche JSON-Zeichenfolge) verwenden, achten Sie darauf, Klammern zu verwenden, um die ursprüngliche JSON-Zeichenfolge einzuschließen.
Zusammenfassung
Durch die Einführung in diesem Artikel sollte jeder verstehen, dass Sie andernfalls zunächst einen speziellen JSON-String auf der Serverseite erstellen müssen, wenn Sie möchten, dass jQuery JSON-Daten domänenübergreifend liest Glücklicherweise ist die Konstruktionsmethode sehr einfach und die Beispiele im Artikel können auf einen Blick verstanden werden.
jQuery + Ajax zum Abrufen domänenübergreifender JSON-DatenIm vorherigen Beispiel wurde $.getJSON verwendet, um domänenübergreifende JSON-Daten zu erhalten. Tatsächlich verwenden wir $ .ajax-Methode Das Gleiche ist möglich. Zitieren Sie zunächst die jQuery-Bibliotheksdatei:
jQuery-Code:
Besonderer Hinweis, dass dataType jsonp statt json ist.
<script type="text/javascript"> $(function(){ $.ajax({ type: 'get', url: 'http://localhost:8000/user.php?jsoncallback=?', dataType: 'jsonp', jsonp: "jsoncallback", success: function(data) { alert("用户名:"+ data.name+" 密码:"+ data.pass); } }); }) </script>
So erhalten Sie das Json-Array in JS Beispiel für Array-Länge
Lösung für eine domänenübergreifende Ajax-Anfrage: Verwenden Sie JSONP, um JSON-Daten zu erhalten
Das obige ist der detaillierte Inhalt vonInformationen zum jQuery-Code zur Verwendung von $.ajax oder $.getJSON zum domänenübergreifenden Abrufen von JSON-Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!