asp.net mvc 5 web api 关于Requested resource does not support options 问题
2015-09-17 17:31
886 查看
1、用visual studio 2015 建立一个 web api 应用程序。记住这是一个 web api 应用。
2、新建一个web api 。
3、用C#访问,代码如下:[没有问题,返回正确]
但如果用jquery去调用web api 则会出现:
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看请求时会发现有两个请求产生。
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 MVC5网站开发显示文章列表(九)
- asp.net 根据dataset获取大字符串(直接转出json)
- ASP.NET - List<> 绑定 DropDownList
- asp.net 处理F5刷新页面重复提交页面的一个思路
- ASP.NET - TreeView 增删
- ASP.NET站点导航应用详解
- ASP.NET MVC3 通过URL路由传多个参数方法
- [C#/ASP.NET]List<>中Sort()、Find()、FindAll()、Exist()的使用方法
- ASPX页面传值
- ASP CDONTS.NEWMAIL组件发送电邮(附下载)
- Asp.net Response.Redirect with post data
- Spring AOP - AspectJ - @AfterReturning example
- [ASP.NET]谈谈IIS与ASP.NET管道
- Spring AOP - AspectJ - @After example
- Spring AOP - AspectJ - @Before example
- ASP.NET实现级联下拉框效果实例讲解
- Spring AOP + AspectJ annotation example
- ASP.NET动态网站制作(1)--html
- 那些年我们遇到的bug系列一(安卓+asp.net+sql server开发)
- 24个常用方法有效优化ASP.NET的性能(四)