jQuery 1.8.2を使用して、jQueryのajaxPOSTを介してバックエンドサーバーのAPIを呼び出しています。バックエンドサーバーとWebページは両方とも同じドメインにあります。
私のjsファイルでは、単に呼び出しています$.post('/createAccount',data,function(e) { alert(e); });
Fiddlerでは、このリクエストはIE9でGETとして送信されます。
GET http://[redacted]/createAccount HTTP/1.1
Accept: */*
Origin: [redacted]
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: [redacted]
Connection: Keep-Alive
Pragma: no-cache
Chrome(最新)を使用した同じページは、Fiddlerで次を返します。
POST http://[redacted]/createAccount HTTP/1.1
Host: [redacted]
Connection: keep-alive
Content-Length: 103
Origin: http://[redacted]
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept: */*
Referer: http://[redacted]/builder?token=[redacted]
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
email=test123&token=[redacted]&company=tokentest1
$.postの代わりに$.ajaxを使用するコードは次のとおりです(同じ問題):
$.ajax({
url : '/createAccount',
type : 'POST',
data : obj,
dataType : 'json',
cache: 'false',
success : function(data) {
if(data.status === 'ok') {
} else {
alert('error');
}
}
});