Heim  >  Artikel  >  Web-Frontend  >  Wie behebe ich den Fehler „Unerwarteter Token-Doppelpunkt JSON“ in jQuery.ajax#get?

Wie behebe ich den Fehler „Unerwarteter Token-Doppelpunkt JSON“ in jQuery.ajax#get?

Barbara Streisand
Barbara StreisandOriginal
2024-10-19 22:57:02479Durchsuche

How to Fix the

Behebung des „Unexpected Token Colon JSON“-Fehlers in jQuery.ajax#get

Bei Ihrem Versuch, JSON-Daten von einer minimalistischen API abzurufen Sie haben in Node.js erstellt, in Chrome ist der Fehler „Unerwartetes Token:“ aufgetreten. Dieser Fehler tritt normalerweise aufgrund einer Diskrepanz zwischen der erwarteten und der tatsächlichen JSON-Antwort vom Server auf.

Wenn Sie einen AJAX-Aufruf mit jQuery.ajax#get durchführen und den Datentyp als „jsonp“ angeben, erfordert die Serverantwort eine „padding“ (P) zur Unterstützung von JSONP-Anfragen. JSONP ist eine Technik, die domänenübergreifende Anfragen ermöglicht, indem die JSON-Daten in einen Funktionsaufruf eingeschlossen werden.

Um dieses Problem zu beheben, müssen Sie den serverseitigen Code ändern, um die Auffüllung in die Antwort einzubeziehen. Fügen Sie in Ihrem Node.js-Code die folgenden Zeilen hinzu:

var callback = req.query.callback;
var data = JSON.stringify({
    Name : "Tom",
    Description : "Hello it's me!"
});

if (callback) {
    res.setHeader('Content-Type', 'text/javascript');
    res.end(callback + '(' + data + ')');
} else {
    res.setHeader('Content-Type', 'application/json');
    res.end(data);
}

Wenn Sie Express.js verwenden, können Sie alternativ die Methode res.jsonp() verwenden, die das Hinzufügen der Auffüllung automatisch übernimmt :

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});

Mit diesen Änderungen sendet der Server eine JSONP-Antwort, verpackt in einen Funktionsaufruf, der von jQuery.ajax#get analysiert werden kann, ohne dass der Fehler „Unerwartetes Token“ auftritt.

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Unerwarteter Token-Doppelpunkt JSON“ in jQuery.ajax#get?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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