我有一个 facebook iframe 应用程序,它向我的服务器发出跨域请求并请求 JSONP 格式的数据。这是我的客户端代码:
jQuery.ajax({
url: '***',
type: 'post',
data: {
method: 'set_user_prizes'
},
dataType: 'jsonp',
jsonp: false,
jsonpCallbackString: 'callback123',
success: function(data, textStatus, jqXHR){
console.log('success_function');
console.log(data);
}
});
问题是我的成功回调方法没有被调用,我不确定为什么。使用 Firebug 我可以看到我的服务器的响应:
callback123({"success":true,"associated_prizes":[{"prizes_id":"6"},{"prizes_id":"1"}]})
最佳答案
从回调键中删除单词 String
,如下面的转换所示。该值需要保留为字符串。
改变:
jsonpCallbackString: 'callback123',
到
jsonpCallback: 'callback123',
关于javascript - 带有 jsonp 的 jQuery .ajax() 不调用成功回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7391707/