[英]CORS error for firefox and chrome
我在代碼中遇到有關CORS錯誤的問題,我運行的.js文件給chrome和firefox提供了錯誤,但在IE上卻沒有。 建議我向其添加響應標頭,但我很困惑在何處添加它。請幫助
xhr.open(method, url, true);
我嘗試添加xhr.setRequestHeader(“ Access-Control-Allow-Origin:*”); 對此,它將起作用嗎?
不要在客戶端代碼中添加xhr.setRequestHeader(“ Access-Control-Allow-Origin:*”)。
要允許跨域請求,服務器僅需要將Access-Control-Allow-Origin標頭添加到響應中。
Access-Control-Allow-Origin的值應該是要允許的請求的域名,或者如果允許任何源,則簡單地*。
訪問控制允許來源: http : //domain1.com或
訪問控制允許來源:*
如果要調用Web API方法,請參考以下經過測試的代碼及其在其余API上的工作。
客戶端代碼Ajax調用:
function CallAjax() { var xhr = new XMLHttpRequest(); xhr.open("GET", "http://localhost:54118/api/values", true); xhr.onload = function () { console.log(xhr.responseText); alert("sucuess"); }; xhr.send(); }
服務器端更改:
在Web API項目中,您必須在Web.config文件中添加以下配置。 在system.webServer部分下,添加以下內容
<httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*"/> </customHeaders> </httpProtocol>
這將允許任何域訪問資源。
希望這會有所幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.