jQuery和JSONP问题

时间:2012-04-17 15:43:43

标签: jquery jsonp

我正在尝试制作以下jQuery AJAX JSONP请求:

$.ajax({
    type: "GET",
    url: apiUrl + currentType + "/" + $(this).val() + "/" + nextType + ".json?jsoncallback=?",
    dataType: "jsonp",
    success: function (data) {
        console.log(jQuery.parseJSON(data))
    },
    error: function (reqObj, textStatus, error) {
        console.log(textStatus, error)
    }
});

成功函数永远不会运行,这是来自error函数的记录数据:

parsererror, message: "jQuery17205679343591909856_1334681898332 was not called"

我不知道为什么这不起作用......

1 个答案:

答案 0 :(得分:0)

因此,在一些配置更改后(在API方面),我能够找出我的问题。

首先,为了在API端快速生成我的JSON响应,我正在使用Rails的RABL gem。我将配置示例包含在应用程序的初始化程序中(https://github.com/nesquena/rabl)。 来自Github:

  

如果禁用了include_json_root,则删除每个根节点   输出中的子项,enable_json_callbacks启用支持   'jsonp'样式回调输出,如果传入的请求有'回调'   参数。

然后,这是我的jQuery(在客户端消费者方面):

$.ajax({
            url: apiUrl + currentType + "/" + $(this).val() + "/" + nextType + ".json",
            dataType: 'jsonp',
            type: "GET",
            success: function(data) {
                console.log(data);
                console.log('Success!');
            }
        });