Unerwarteter Token-Doppelpunkt JSON nach jQuery.ajax # get

8

Ich habe eine minimalistische API auf nodejs erstellt, die Daten im JSON-Format zurückgibt.

Aber jedes Mal, wenn ich versuche, einen Ajax # zu bekommen und meine API als URL zu übergeben, erhalte ich einen Fehler und nach Chrome bekomme ich einen "Unexpected token :" Fehler;

Hier der Server-Code in nodejs + express :

%Vor%

Der von "/" zurückgegebene JSON lautet: {"Name":"Tom","Description":"Hello it's me!"} .

Hier ist mein Aufruf vom Client js:

%Vor%

Beim Plotten des Fehlers bekomme ich: "jQuery111108398571682628244_1403193212453 was not called"

Kann mir jemand helfen?

Ich weiß, dass diese Frage bereits gestellt wurde, aber ich habe es nicht geschafft, eine Lösung zu finden, die mein Programm repariert.

    
K. L. 19.06.2014, 15:56
quelle

2 Antworten

9

Um JSONP-Anfragen zu unterstützen, muss der Server die P oder "" enthalten Padding , "in der Antwort.

%Vor%

Der Syntaxfehler "Unexpected token :" liegt darin, dass JSONP als JavaScript analysiert wird, wobei {...} auch für Blöcke . Es nutzt nur die ähnliche Syntax von JSON und JavaScript, um die Daten zu definieren, die an einen globalen Funktionsaufruf übergeben werden.

Standardmäßig enthält jQuery einen callback query-string-Parameter mit dem Namen der Funktion:

%Vor%

ExpressJS enthält auch res.jsonp() , das diese Bedingung bereits implementiert:

%Vor%     
Jonathan Lonowski 19.06.2014, 16:11
quelle
-3

Sie möchten dataType verwenden: "json" anstelle von "jsonp"

    
Dan Putman 19.06.2014 16:10
quelle

Tags und Links