zoukankan      html  css  js  c++  java
  • asp.net mvc 5 web api 关于Requested resource does not support options 问题

    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看请求时会发现有两个请求产生。

         

  • 相关阅读:
    css 盒模型
    Dom事件类-文档对象模型
    BFC-边距重叠解决方案
    三栏布局的五种方式--左右固定,中间自适应
    为什么必须先写组件再写vue的实例
    H5跳小程序安卓机出现白屏的问题
    关于iframe标签的src属性
    子组件让父组件进行刷新vuex
    html 插件
    git 其他merge
  • 原文地址:https://www.cnblogs.com/msql/p/4817049.html
Copyright © 2011-2022 走看看