ASP.NET MVC 中不允许使用 POST 方法(使用 CORS)
Posted
技术标签:
【中文标题】ASP.NET MVC 中不允许使用 POST 方法(使用 CORS)【英文标题】:POST Method not allowed in ASP.NET MVC (using CORS) 【发布时间】:2018-04-08 19:10:16 【问题描述】:我已经在 web.Server 元素中配置了 Web.Config。
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://localhost:xxxxx" />
<add name="Access-Control-Allow-Headers" value="content-type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" />
</customHeaders>
</httpProtocol>
当遇到 GET 请求时,所有数据都被检索。
当我想在请求中发布新元素时,我得到错误 405 方法不允许。 可能是什么原因?
请求示例: 一般:
Request URL:http://localhost:xxxxx/api/company
Request Method:OPTIONS
Status Code:405 Method Not Allowed
响应标头:
Access-Control-Allow-Headers:content-type
Access-Control-Allow-Methods:GET, POST, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin:http://localhost:yyyyy
Allow:GET,POST
Cache-Control:no-cache
Content-Length:76
Content-Type:application/json; charset=utf-8
请求标头:
Accept:*/*
Accept-Encoding:gzip, deflate, br
Accept-Language:pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-Request-Headers:content-type
Access-Control-Request-Method:POST
Connection:keep-alive
Host:localhost:xxxxx
Origin:http://localhost:yyyyy
Referer:http://localhost:yyyyy/ddddd/zzzzzz
【问题讨论】:
发布您的 POST 方法/端点 :) @TezWingfield 更新请求示例。 谢谢,可以添加你的post方式吗?所以我们可以解决任何代码问题。 我为什么使用syncfusion javascript。 @mjwills 请求 URL:localhost:xxxxx/api/company。就像我介绍的那样,CORS 仅在 web.config 中。 【参考方案1】:我相信 Access-Control-Allow-Origin 应该是“*”。那么它可能会起作用。
【讨论】:
同样的结果。以上是关于ASP.NET MVC 中不允许使用 POST 方法(使用 CORS)的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC API与JS进行POST请求时传递参数 -CHPowerljp原创
CORS:使用 ASP.NET 4.5.1 MVC 的 Rest API