2017-10-16 23 views
0

我正在發送帶有標題的ajax請求 。 並且出現如此類似的錯誤 預檢請求的響應未通過訪問控制檢查:請求的資源上沒有「訪問控制 - 允許原始」標頭。起源。 我開啓了報頭在我的MVC應用程序,像這樣,但同樣的錯誤是coming.and想法解決這個問題....帶有標題的帖子請求的錯誤

<customHeaders> 
     <remove name="Server" /> 
     <remove name="X-Powered-By" /> 
     <remove name="X-AspNet-Version" /> 
     <remove name="Access-Control-Allow-Headers"/> 
     <add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept,Token" /> 
     <add name="Access-Control-Expose-Headers" value="ETag, Link, X-RateLimit-Limit, X-RateLimit-Remaining, X-Exceptionless-Client" /> 
     <remove name="Access-Control-Allow-Origin"/> 
     </customHeaders> 
+1

你的錯誤狀態沒有「訪問控制允許來源」標頭。而在你的配置中,你正在專門刪除它。所以我不明白你的問題是什麼。 – mason

+0

我想發送帶有不同服務器頭文件的請求到mvc action.how我可以這樣做 –

+0

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS – JuanR

回答

0

的問題是,你有起源和命運之間的不同的URL。

改變命運的Web.config有下面幾行:

<?xml version="1.0" encoding="utf-8"?> 
    <configuration> 
    <system.webServer> 
     <httpProtocol> 
      <customHeaders> 
      <add name="Access-Control-Allow-Origin" value="*" /> 
      <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
      <add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" /> 
      </customHeaders> 
     </httpProtocol> 
    </system.webServer> 
    </configuration> 

只是要小心,因爲任何人都可以訪問你的資源(*)。如果你願意,你可以編寫URL的來源。

來解決這個問題將被啓用CORS另一種選擇:https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/enabling-cross-origin-requests-in-web-api