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

Cas*_*ynn 6 javascript ajax jquery 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);
                }
});
Run Code Online (Sandbox Code Playgroud)

问题是我的成功回调方法没有被调用,我不知道为什么.使用Firebug我可以看到我服务器的响应:

callback123({"success":true,"associated_prizes":[{"prizes_id":"6"},{"prizes_id":"1"}]})
Run Code Online (Sandbox Code Playgroud)

Jam*_*mes 6

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

更改:

jsonpCallbackString: 'callback123',
Run Code Online (Sandbox Code Playgroud)

jsonpCallback: 'callback123',
Run Code Online (Sandbox Code Playgroud)

  • 我认为这部分是正确的.你正在寻找jsonpCallback:'callback123'.删除单词"string",但将值保留为字符串 (2认同)