我在同一個解決方案中有一個ASP.Net核心和一個Web Api項目。我從我的Api項目中定義的核心項目中調用Get,Post,Put,Delete。當然,我需要啓用CORS。預檢響應中的Access-Control-Allow-Headers不允許請求標頭字段x-ms-request-root-id
貝婁是我在網絡API的web.config文件中添加的代碼,
<httpProtocol>
<customHeaders>
<!-- Enable Cross Domain AJAX calls -->
<clear />
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
</customHeaders>
</httpProtocol>
而且從核心項目我的Ajax代碼,
$.ajax({
"url": "myApiUrl",
"type": "Get",
"data": {
//Here I'm passing a value
},
success: function (d) {
}
我設置兩個項目作爲啓動項目。沒什麼大不了。它調用Api方法並返回數據。但有時它不會返回任何東西,即使該方法返回數據,我也會在我的問題標題中提到的browser console
中發生錯誤。我在SO中查了很多答案,包括this one,都說我需要在我的response header
中加access control
。任何人都可以告訴我需要添加的內容以及我需要添加的內容,以便它能按預期工作。
我也檢查了Asp.net MVC項目,而不是核心,同樣的事情發生。
注意:我在我的Web Api項目中添加了CORS而不是在我的Web項目中。
是否在Web API操作中啓用授權,即授權屬性? –
編號現在,我提供了所有我沒有驗證的Api方法 –
好的。你能說明你是如何啓用CORS的嗎? –