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

         

  • 相关阅读:
    利用python在windows环境下爬取赶集网工作信息。
    扔骰子
    python 输入英语单词,查看汉语意思
    获取指定日期的上一个月日期
    爬取代理IP,并判断是否可用。
    递归实现 十进制转换其他进制(2-16)
    特殊回文数
    python 实现无序列表
    python 实现剪刀石头布(三局两胜)
    python 实现简单语音聊天机器人
  • 原文地址:https://www.cnblogs.com/msql/p/4817049.html
Copyright © 2020-2023  润新知