zoukankan      html  css  js  c++  java
  • 关于跨域问题(包括端口和域名跨域)

    关于跨域问题(包括端口和域名跨域)

      1、C#语言跨域 我估计任何语言在返回头加这个都可以解决跨域问题    

    //完全跨域设置 包括跨域名和端口
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); //跨域名
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "*");//跨端口
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
    //HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");允许的请求类型
    var data = HttpContext.Current.Request.Form["data"].ToString();
    HttpContext.Current.Response.ContentType = "text/plain";
    HttpContext.Current.Response.Write(data);
    View Code

      2、PHP跨域 同一个思想

    <?php
    $data = $_POST["data"];
    //完全跨域设置 包括跨域名和端口
    header("Access-Control-Allow-Origin:*"); //跨域名
    header("Access-Control-Allow-Headers:*"); //跨端口
    header("Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS"); //允许的请求类型
    header('Content-Type:text/plain');
    echo $data;
    View Code

      3、webApi跨域访问

           /// <summary>
            /// 跨域解决
            /// </summary>
            /// <param name="httpResponseMessage"></param>
            /// <returns></returns>
            protected HttpResponseMessage crossDomain(HttpResponseMessage httpResponseMessage)
            {
                httpResponseMessage.Headers.Add("Access-Control-Allow-Origin", "*");
                httpResponseMessage.Headers.Add("Access-Control-Allow-Headers", "*");
                httpResponseMessage.Headers.Add("Access-Control-Allow-Methods", "GET, POST");
                return httpResponseMessage;
    
            }
    View Code

      或者在Web.config配置自动发送默认请求头 在<system.webServer>  </system.webServer>之间

      <system.webServer>
    
        <!--跨域配置-->
        <httpProtocol>
          <customHeaders>
            <add name="Access-Control-Allow-Origin" value="*" />
            <add name="Access-Control-Allow-Headers" value="*" />
            <add name="Access-Control-Allow-Methods" value="GET, POST" />
          </customHeaders>
        </httpProtocol>
        <!--跨域配置-->

    ajax跨域只要在返回头加上这三就OK了

    Access-Control-Allow-Origin:*
    Access-Control-Allow-Headers:*
    Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS

  • 相关阅读:
    MYSQL limit用法
    mybaties mapping中if
    执行数据库同时又调接口
    WITH (NOLOCK)
    SpringMVC转发和重定向区别!
    MyBatis的foreach语句详解
    SSM mapper.xml
    win7与virtualbox中centos文件共享
    PBOC2.0中消费交易流程
    PBOC2.0协议中电子存折/电子钱包中圈存交易流程
  • 原文地址:https://www.cnblogs.com/zhouyukai/p/7491548.html
Copyright © 2011-2022 走看看