$.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对象中出现错误
Uncaught SyntaxError:意外的令牌:
为什么?
答案 0 :(得分:0)
问题是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/
Type:String覆盖jsonp请求中的回调函数名称。 在'callback =?'中将使用此值代替'callback'部分 url中的查询字符串。所以{jsonp:'onJSONPLoad'}会产生 在'onJSONPLoad =?'传递给服务器。从jQuery 1.5开始,设置 jsonp选项为false可防止jQuery添加“?回调” 字符串到URL或尝试使用“=?”转型。在 在这种情况下,您还应该显式设置jsonpCallback设置。 例如,{jsonp:false,jsonpCallback:“callbackName”}