これはおそらく私が今まで遭遇した中で最も奇妙なエラーです:
だから私は一緒に投げたWebサービスへのjQuery.ajax呼び出しのバンドルを持っています。FirefoxとChromeでうまく機能しますが、 Fiddlerを実行していない限り、IE8では何もしません。(これはここで報告された問題に似ていますが、私は言及されたものを無駄に試しました。)
これらの非機能呼び出しでは、jqXHRオブジェクトを適切に構築しているように見えますが、何かが欠けています。ただし、何がわからないのか-私はjQueryの内部動作にあまり詳しくないので、デバッガーで呼び出しをステップ実行するだけで、私にとってはそれほど多くのことを行うことができません。
呼び出しは次のとおりです。
$.ajaxSetup({
type: "POST",
timeout: 30000,
contentType: "application/json; charset=utf-8"
});
$.ajax({
url: "/PSWS/UserManager.asmx/Login",
data: '{"emailAddress":"' + myEmailAddress + '","password":"' + myPassword + '","stayLoggedIn":' + (myStayLoggedIn ? 'true' : 'false') + '}',
success: function (response) {
if (!response.Success) {
alert(response.Message);
} else {
$(this).find('.message').remove();
$.fn.colorbox.close();
}
},
dataType: 'json',
error: function (jqXHR, textStatus, errorThrown) {
$(this).find('.message').remove();
$(this).prepend('<div class="message message_error">Error!<br/>' + jqXHR.status + ' - ' + jqXHR.statusText + '</div>');
}
}); `
送信されたものと受信されたもののどちらかで、JSONに何か問題があるのではないかと思いました。Fiddler以外でこれをキャプチャする方法はわかりませんが、有効なようです。とにかく、そのパーサーとJSONLintに対して十分に有効です。
送信済:
{"emailAddress":"test@example.com","password":"asdasdasd","stayLoggedIn":true}
受け取った:
{"__type":"PSUserManagerService.SystemResponse","Success":false,"Message":"Error logging in: Invalid username and/or password.","Subscriptions":null}