javascript – 没有调用jQuery.ajax转换器

我遇到了jQuery.ajax转换器的问题 – 我无法调用我的转换器.

我有这个jQuery AJAX代码(简化问题):

    $.ajax({
    url: "http://myurl/myservice",
    dataType: "JSONP",
    cache: false,
    success: function (data, textStatus, jqXHR) { /* do stuff */ },
    error: function (jqXHR, textStatus, errorThrown) { /* do stuff */ },
    timeout: 5000,
    converters: { "JSONP": myConversionFunction }
});

当我使用这段代码时,没有调用转换器函数myConversionFunction.我想使用转换器来转换响应中的日期,如同在其他SO问题中显示但是无法解决它.

使用fiddler我已经检查了响应,它是JSONP,内容类型为“application / x-javascript”.

我有什么想法我做错了吗?

谢谢,
克里斯.

解决方法:

我认为你不能覆盖像json这样的jQuery默认转换器.引入您自己的转换器(并在您的说明符中包含文本,因为在这种情况下,它是从文本到输出的转换):

$.ajax({
    url: "http://myurl/myservice",
    dataType: "jsonp myConversion",
    cache: false,
    success: function (data, textStatus, jqXHR) { /* do stuff */ },
    error: function (jqXHR, textStatus, errorThrown) { /* do stuff */ },
    timeout: 5000,
    converters: {
        "text myConversion": function(value) {
            console.log("pre-processing...");
            /* do stuff */
            return value;
        }
    }
});

上一篇:javascript – 如何使用JSONP克服XSS问题?


下一篇:javascript JSONP回调函数未定义