首页 > Windows开发 > 详细

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

时间:2015-09-17 19:16:57      阅读:3454      评论:0      收藏:0      [点我收藏+]

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("http://webml01.dxqas.com/datacenter/api/affiliate/queryproduct", 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 name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, PUT, POST, DELETE, HEAD" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
</customHeaders>
</httpProtocol>

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

     

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

原文:http://www.cnblogs.com/msql/p/4817049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!