Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

WBOY
WBOYOriginal
2016-09-11 11:34:081310Durchsuche

Wie kann man es lösen? Es ist in Ordnung, einen anderen Domainnamen zu verschieben, aber dieser Domainname ist tot. Der Front-End-Code lautet wie folgt:

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

Der Backend-Code lautet wie folgt:

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

Antwortinhalt:

Wie kann man es lösen? Es ist in Ordnung, einen anderen Domainnamen zu verschieben, aber dieser Domainname ist tot. Der Front-End-Code lautet wie folgt:

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

Der Backend-Code lautet wie folgt:

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

Die Schnittstelle verarbeitet keine Rückrufe?

Die

-Schreibweise ist korrekt. Es wird geschätzt, dass der Server etwas anderes als das jsonp-Format zurückgegeben hat und die Rückrufverarbeitung fehlgeschlagen ist. Der Standard-
-Rückrufparameter von jsonp$.ajax ist ?callback=_XXXX. Überprüfen Sie, ob die Hintergrundverarbeitung und die Rückgabe korrekt sind.

Der vom Server zurückgegebene Wert ist falsch. Sie geben einen Nullwert zurück. Es sieht so aus, als ob es einen {"result":"successful"} oder etwas Ähnliches gibt, versuchen Sie es?

Javascript: Hinzufügen

<code class="javascript">$.ajax({
    ....
    jsonp:'jsonp_callback',  <- 指定callback回调函数名
    ....
})</code>

jQuery verwendet AJAX GET, um eine /url/?callback=jsonp_callback URL
anzufordern und führt dann den jsonp_callback(result) JavaScript-Rückruf

aus
<code class="php">function(){
    return string;
}</code>

Was JavaScript empfängt, ist eine Ausgabe vom Typ String. Es ist nicht JSON. Wenn es nicht JSON ist, ist es DIE.

<code class="php">function (){
    // 这里是callback还是jsonp_callback忘了。具体百度一下
    return $_GET['callback']."(".json_encode($string).")";
    // 实际返回并输出的将会是:  `jsonp_callback("string")`
}</code>

Update

javascript - Ajax führt nicht zum Erfolg, sondern nur zu einem Fehler, und der Anforderungsstatuscode ist 200.

Sehen Sie sich die Bilder an und sprechen Sie:
Die Ajax-Anfrageadresse ist http://baidu.com
Die tatsächliche Anfrageadresse ist http://baidu.com/?callback=xxxxxxx&_=xxx&_=xxxx

Warum nicht Zahlen verwenden, anstatt Inhalte zurückzugeben?

Der Datentyp stimmt nicht mit dem Rückgabewert überein. Es wird empfohlen, diesen Parameter zu entfernen und jquery den Rückgabewert automatisch erkennen zu lassen.
Ist das nicht auch JSONP?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn