2015-05-28 27 views
0

我想設置一些標題爲跨域請求。CORS - 阿賈克斯頭

HTTP客戶端:http://localhost:8080 HTTP服務器:http://localhost:8081

這裏是我的HTTP服務器CORS配置:

"Access-Control-Allow-Origin" : "http://localhost:8080" "Access-Control-Allow-Methods" : "POST,GET,DELETE,PUT,OPTIONS" "Access-Control-Allow-Credentials" : "true" "Access-Control-Allow-Headers" : "Accept,Origin,Content-type,MY_HEADER" "Access-Control-Expose-Headers" : "Accept,Origin,Content-type,MY_HEADER"

的任何查詢工作正常,直到我自定義標題添加到請求。 當我這樣做,我收到以下錯誤:

XMLHttpRequest cannot load http://localhost:8081/auth. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

這裏是我的Ajax代碼添加自定義標題:

$.ajax({ 
beforeSend : function(xhr) { 
    xhr.setRequestHeader('MY_HEADER', 'my value'); 
}, 

crossDomain : true, 

xhrFields: { 
    withCredentials: true 
} 

method: httpMethod, 
url: url, 
data: data, 
dataType: 'json', 
accept: { 
    json: 'application/json' 
}, 
async: true, 
}); 

當我刪除beforeSend一切正常。 任何想法我可能做錯了什麼?

在此先感謝您的幫助。

+0

任何人在這裏? – Linvi

回答

1

當添加請求標頭時,瀏覽器沒有理由阻止X域請求。 您應檢查您的服務器是否仍在使用Access-Control-Allow-Origin標題進行響應。