/ / Fehler im zurückgegebenen jsonp - ajax, json

Fehler im zurückgegebenen jsonp - ajax, json

$.ajax({
type: "GET",
url: "http://api.xhanch.com/islamic-get-prayer-time.php?lng=34.4366455078125&lat=31.48957771850194&yy=2013&mm=5&gmt=3&m=json",
dataType: "jsonp",
success: function () {
console.log("Success!");
},
error: function () {
console.log("Uh Oh!");
},
jsonp: "jsonp"
});

Wenn ich diesen Code ausführen, erhalte ich einen Fehler im Rückgabe-JSON-Objekt

Uncaught SyntaxError: Unerwartetes Token:

Warum?

Antworten:

0 für die Antwort № 1

Das Problem ist jsonp: "jsonp" ruft die Methode an jsonp das ist nicht in Ihrem Code vorhanden. Wenn Sie das wirklich brauchen, erstellen Sie einfach die Methode oder entfernen Sie sie.

Löschen

$.ajax({
type: "GET",
url: "http://api.xhanch.com/islamic-get-prayer-time.php?lng=34.4366455078125&lat=31.48957771850194&yy=2013&mm=5&gmt=3&m=json",
dataType: "jsonp",
success: function () {
console.log("Success!");
},
error: function () {
console.log("Uh Oh!");
},
});

Oder erstellen Sie die Methode

$.ajax({
type: "GET",
url: "http://api.xhanch.com/islamic-get-prayer-time.php?lng=34.4366455078125&lat=31.48957771850194&yy=2013&mm=5&gmt=3&m=json",
dataType: "jsonp",
success: function () {
console.log("Success!");
},
error: function () {
console.log("Uh Oh!");
},
jsonp: { jsonp: false, jsonpCallback: "callbackName" }
});

function callbackName(){
/*do something*/
}

Referenz: http://api.jquery.com/jQuery.ajax/

jsonp

Art: String Überschreibt den Namen der Callback-Funktion in einer jsonp-Anfrage. Dieser Wert wird anstelle von "Rückruf" im "Rückruf =?" Teil der Abfragezeichenfolge in der URL. So würde {jsonp: "onJSONPLoad"} resultieren in "onJSONPLoad =?" an den Server übergeben. Setzen Sie ab jQuery 1.5 den Wert Die Option jsonp to false verhindert, dass jQuery den Rückruf "?" Zeichenfolge an die URL oder versuchen, "=?" für die Transformation. Im In diesem Fall sollten Sie auch die Einstellung jsonpCallback explizit festlegen. Beispiel: {jsonp: false, jsonpCallback: "Rückrufname"}