我有一个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"}]})
答案 0 :(得分:6)
从回调键中删除单词String
,如以下转换中所示。该值需要保持字符串。
变化:
jsonpCallbackString: 'callback123',
到
jsonpCallback: 'callback123',
答案 1 :(得分:4)
正确的答案是
jsonpCallback: 'callback123'