jQuery .ajax()与jsonp不调用成功回调函数

时间:2011-09-12 17:37:38

标签: javascript jquery ajax json jsonp

我有一个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"}]})

2 个答案:

答案 0 :(得分:6)

从回调键中删除单词String,如以下转换中所示。该值需要保持字符串。

变化:

jsonpCallbackString: 'callback123',

jsonpCallback: 'callback123',

答案 1 :(得分:4)

正确的答案是

jsonpCallback: 'callback123'