zoukankan      html  css  js  c++  java
  • ajax post 请求报错Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' heade

    jquery ajax跨域请求,webapi webconfig配置

    前台代码(放了一部分)

    function CheckIn(roomno) {
    $.ajax({
    url: 'https://www..../RoomAssign',
    type: 'post',
    async: false,
    contentType: 'application/json;charset=utf-8',
    dataType: 'json',
    data: JSON.stringify({
    AccountId: localStorage.getItem("Accountid"),
    Address: localStorage.getItem("Address"),
    ArrivalDate: localStorage.getItem("Arrivaldate"),
    Birthday: localStorage.getItem("Birthday"),
    CertificateNo: localStorage.getItem("Certificateno"),
    CertificateType: localStorage.getItem("Certificatetype"),
    Country: localStorage.getItem("Country"),
    })

    后台代码:

      public List<RoomAssign> RoomASSign([FromBody] RoomAssignIn model)
            {
                try
                {
                    RoomAssignReq req = new RoomAssignReq();
                    req.AccountId = model.Accountid;
                    req.RoomNo = model.Roomno;
                    req.Rsvno = model.Rsvno;
                    RoomAssignRsp rsp = null;
                    ErrorInfo error = null;
                    List<RoomAssign> Rd = new List<RoomAssign>();
                    RoomAssign list = new RoomAssign();
                    if (db.RoomAssign(req, ref rsp, ref error) == 0)
                    {        
                            list.resultcode = rsp.ResultCode;
                            list.description = rsp.Description;                              
    
                    }
                    else
                    {
                        list.description = error.ErrorMessage;
                    }
                    Rd.Add(list);
                    return Rd;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
    
    
            }

    web配置以下内容

    <system.web>
        <!--提供Web服务访问方式-->
        <webServices>
          <protocols>
            <add name="HttpSoap"/>
            <add name="HttpPost"/>
            <add name="HttpGet"/>
            <add name="Documentation"/>
          </protocols>
        </webServices>
     </system.web>
     
     
     <configuration>
     <system.webServer>  
        <httpProtocol>   
        <customHeaders>   
          <add name="Access-Control-Allow-Methods" value="OPTIONS,POST,GET"/>   
          <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type"/>   
          <add name="Access-Control-Allow-Origin" value="*" />   
        </customHeaders>   
      </httpProtocol>   
      <modules>  
        <add name="MyHttpModule" type="WebServiceDemo.MyHttpModule"/>  
      </modules>
      </system.webServer>  
    </configuration>

    如果报错:

    未能加载类型“WebServiceDemo.MyHttpModule”。去掉

     <modules>  
        <add name="MyHttpModule" type="WebServiceDemo.MyHttpModule"/>  
      </modules>

    如果想选定的网站可能跨域访问,修改配置如下:

    <add name="Access-Control-Allow-Origin" value="http://www....." />  
  • 相关阅读:
    Centos6.6安装Nginx
    Centos6.6升级python版本
    基于Centos6.6的R720服务器四网口端口聚合的实践
    wcf 开发 1
    dev 转自
    SQL查询父节点下的所有子节点(包括子节点下的子节点,无限子节点)
    C# 自定义控件摘记
    C#中的自定义控件中的属性、事件及一些相关特性的总结(转)
    DevExpress控件-lookupedit的使用方法详解(图文)转http://blog.csdn.net/qq395537505/article/details/50920508
    【DevExpress】 SearchLookUpEdit
  • 原文地址:https://www.cnblogs.com/wxxf/p/9214674.html
Copyright © 2011-2022 走看看