当前位置:首页 > Windows程序 > 正文

asp.net mvc 5 web api 关于Requested resource does not support

2021-03-25 Windows程序

1、用visual studio 2015 建立一个 web api 应用程序。记住这是一个 web api 应用。

2、新建一个web api 。

3、用C#访问,代码如下:[没有问题,返回正确]  

var requestJson = JsonConvert.SerializeObject(args); HttpContent httpContent = new StringContent(requestJson); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var httpClient = new HttpClient(); var responseJson = httpClient.PostAsync("", httpContent) .Result.Content.ReadAsStringAsync().Result;

但如果用jquery去调用web api 则会出现:

<Error><Message>The requested resource does not support http method ‘OPTIONS‘.</Message></Error>

解决方法如下:

1、编写一个 web api 的基类如 BaseApi.cs 继承自 ApiController 在BaseApi.cs中添加如下代码

public HttpResponseMessage Options() { return new HttpResponseMessage { StatusCode = HttpStatusCode.OK }; }

2、在 web.config 中<system.webServer> 节点中添加如下配置

<httpProtocol>
<customHeaders>
<add value="*" />
<add value="GET, PUT, POST, DELETE, HEAD" />
<add value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>

完成以上两部,,再用jquery去调用。则不出再报错。但F12看请求时会发现有两个请求产生。

asp.net mvc 5 web api 关于Requested resource does not support options 问题

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67304.html