次の$.ajaxを送信します。これは実際に実行されていますが、エラーなしでサイレントに失敗します。IE9開発ツールはエラーを発生させず、フィドラーはトラフィックを表示しません。
「処理」ビットが画面に表示されるので、コードが実際に実行されることを確認できます。しかし、残りは失敗するようです。私はxドメインを実行していません。
$('.signupMsg').html("<img src='/assets/img/load-black.gif' /> Processing...");
var data = $('#emailForm').serialize();
$.ajax({
url: 'https://example.com/proxy/emaillist',
type: 'POST',
data: data,
statusCode: {
200: function(msg) {
$('.signupBlock').html(" <br><strong>Thank you!</strong><br>You will be hearing from us soon.");
$('#emailForm').remove();
},
500: function(msg) {
$('.signupBlock').html(" <br><strong>Something went wrong.</strong><br>Sorry about that, please <a href='/'>refresh</a> and try again.");
$('#emailForm').remove();
},
404: function(msg) {
$('.signupBlock').html(" <br><strong>Something went wrong.</strong><br>Sorry about that, please <a href='/'>refresh</a> and try again.");
$('#emailForm').remove();
},
503: function(msg) {
$('.signupBlock').html(" <br><strong>Server temporarily down.</strong><br>Sorry about that, please <a href='/'>refresh</a> and try again.");
$('#emailForm').remove();
},
400: function(msg) {
$('.signupMsg').html("<span style='color:red'>Email validation failed, please try again.</span>");
}
}
});
jQ1.7.2を使用します。コードはGoogleChromeでは正常に実行されますが、IE7-9およびFFでは失敗します。statusCodeは古いブラウザではサポートされていませんか?
または、コード応答サポートのためにSuperAgentに切り替える必要がありますか?http://visionmedia.github.com/superagent/