我正在嘗試執行跨域ajax請求並將內容填充到我的JSP頁面中的DIV中,我使用的javascript方法如下所示,Firefox不允許使用原型js庫進行跨域Ajax GET請求
function fetchImgLeads(){
var myAjax = new Ajax.Request(
'http://someotherdomain:8080/imghtml?img=100',
{ method:'GET',
parameters:{},
requestHeaders :["Access-Control-Allow-Origin","*","Access-Control-Allow-Methods","POST, GET, OPTIONS","Access-Control-Allow-Headers", "X-PINGOTHER","Access-Control-Max-Age","1728000"],
onSuccess:function(t){
alert(t.responseText.trim());
$('imagediv').update(t.responseText);
},
onFailure:function(t){
//do something
}
}
);
}
我在加載時調用此函數,並在Firefox Web控制檯中看到一條表示HTTP/1.1 401 Unauthorized
的錯誤。在IE中同樣的事情工作正常。我正在使用IE 8.0和Firefox 8。
除了requestHeaders
,還有其他的東西需要補充嗎?是
捕獲HTTP頭如下,即使再Ajax請求似乎並不奏效,
OPTIONS http://www.google.com/ HTTP/1.1
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Proxy-Connection: keep-alive
Origin: http://localhost:8080
Access-Control-Request-Method: GET
Access-Control-Request-Headers: access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-max-age,x-prototype-version,x-requested-with
HTTP/1.1 405 Method Not Allowed
Content-Type: text/html; charset=UTF-8
Date: Fri, 25 Nov 2011 05:53:54 GMT
Server: GFE/2.0
Content-Length: 11819
Proxy-Connection: Keep-Alive
Connection: Keep-Alive
我已經在請求標題中添加訪問控制允許來源,它與IE8罰款它不與火狐 – Abhishek
@ilyavf檢查是否這幫助你:http://stackoverflow.com/a/15300045/408872 – Katapofatico