我在同一个解决方案中有一个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的吗? –