ネットワーク上でPOSTリクエストが成功したことを確認できたにもかかわらず、jQuery.ajax呼び出しがコールバック関数を呼び出さなかった理由を理解しようとしばらく時間を費やしました。
私のコードは次のようになりました。
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ではわかりませんでした。
見つけた答えを投稿したので、ここで答えが見つからなかったので、将来起こった場合にもう一度見つけることができます...