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!