我的代碼中存在CORS錯誤的問題,我運行的.js文件給Chrome和Firefox提供了錯誤,但IE瀏覽器卻沒有。我一直建議增加響應頭到它,但我很困惑在哪裏添加it.Please幫助Firefox和鉻的CORS錯誤
xhr.open(method, url, true);
我嘗試添加xhr.setRequestHeader(「訪問控制允許來源:*」);對此,這工作?
我的代碼中存在CORS錯誤的問題,我運行的.js文件給Chrome和Firefox提供了錯誤,但IE瀏覽器卻沒有。我一直建議增加響應頭到它,但我很困惑在哪裏添加it.Please幫助Firefox和鉻的CORS錯誤
xhr.open(method, url, true);
我嘗試添加xhr.setRequestHeader(「訪問控制允許來源:*」);對此,這工作?
不要在客戶端代碼中添加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.config以下配置在Web API項目文件。根據system.webServer部分添加以下
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*"/>
</customHeaders>
</httpProtocol>
這將允許任何域訪問資源。
希望這會有所幫助:)
但我們該如何做那是我關心的問題我對此沒有太多瞭解。 – Neha
@Neha我在上面的答案中添加了代碼和服務器端更改。 –
我們需要更多的信息...但是你可以讀到這裏CORS https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS – epascarello
歡迎來到SO。請訪問[幫助],看看有什麼和如何問。建議:張貼您的努力和錯誤消息 – mplungjan
檢查此鏈接 http://stackoverflow.com/questions/5750696/how-to-get-a-cross-origin-resource-sharing-cors-post-request-working http://www.bennadel.com/blog/2327-cross-origin-resource-sharing-cors-ajax-requests-between-jquery-and-node-js.htm – brk