2017-01-30 104 views
2

我有錯誤:錯誤使用「訪問控制允許來源」,當我有「訪問控制允許來源:*」

XMLHttpRequest cannot load http://localhost:5984/cp_config/ . A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin ' http://localhost ' is therefore not allowed access. The credentials mode of an XMLHttpRequest is controlled by the withCredentials attribute.

但我有頭:

res.header("Access-Control-Allow-Origin", "*"); 

我該如何解決這個問題?

+0

打開瀏覽器,調試器和網絡面板檢查響應頭中包含訪問控制允許來源:* –

回答

1

您可以通過讓http://localhost:5984/cp_config/的服務器端代碼響應Origin請求標頭值到Access-Control-Allow-Origin響應標頭值來解決此問題。

有關錯誤原因的詳細信息,請參閱MDN上的「Credentialed requests and wildcards」。

您是怎樣呼應進入Access-Control-Allow-Origin響應標頭值的Origin請求標頭值取決於什麼樣的Web服務器和服務器端編程環境(如果有的話)用於投放http://localhost:5984/cp_config/

有一些Web服務器和編程環境具有良好的CORS庫,這使得它非常容易實現,並且還有一些其他人喜歡Apache,它幾乎不可能獨立用於啓用CORS的內容交付還增加了一些Python的東西或PHP或任何其他的東西,以允許訪問所需的標題值。

0

你可以嘗試添加該處理web.config

<system.webServer> 
    <httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    </customHeaders> 
</httpProtocol> 
</system.webServer>