/ / Грешка при върнатите jsonp - ajax, json

Грешка в върнатите 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"
});

когато изпълнявам този код, получавам грешка в връщащия json обект

Untaught SyntaxError: Неочаквано означение:

Защо?

Отговори:

0 за отговор № 1

Проблемът е че jsonp: "jsonp" призовава метода jsonp това не съществува в кода ви. Ако наистина се нуждаете от това, просто създайте метода или го премахнете.

Премахване

$.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!");
},
});

Или създайте метода

$.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*/
}

справка: http://api.jquery.com/jQuery.ajax/

JSONP

Тип: String Замяна на името на функцията за обратно извикване в заявка jsonp. Тази стойност ще бъде използвана вместо "обратно повикване" в "callback =?" част на низа за заявки в URL адреса. Така ще се получи {jsonp: "onJSONPLoad"} в "onJSONPLoad =?" предаден на сървъра. Към jQuery 1.5, настройката на опцията jsonp да фалшиви предотвратява jQuery да добави "? callback" низ на URL адреса или опит за използване на "=?" за трансформация. в в този случай, трябва също изрично да зададете настройката jsonpCallback. Например {jsonp: false, jsonpCallback: "callbackName"}