我花了一段时间试图理解为什么我的 jQuery.ajax 调用没有调用回调函数,即使我可以在网络上看到 POST 请求成功。
我的代码看起来像这样:
var invokeService = function (url, action, parameters, callback, async, errorFn) {
var jqXhr = $.ajax({
async:async,
type:'POST',
cache:false,
url:url + '?action=' + action,
contentType:'application/json; charset=utf-8',
data:$.toJSON(parameters),
done:callback,
fail:errorFn
});
};
我这样称呼它:
invokeService(serviceUrl, 'ActionFn', {param:'one'}, successFn, null, failFn);
我无法弄清楚为什么我的回调在其他浏览器上被调用,但不是 IE9。
我发布了我找到的答案,以便将来如果它发生,我可以再次找到它,因为我在这里找不到答案......