我遇到了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;
}
}
});