• 跨域请求


    同源策略:请求的url地址,必须与浏览器上的url地址处于同域上,也就是域名,端口,协议相同.

    跨域的安全限制是对浏览器端来说的

    cs2.cn 去访问 cs.cn,就会出现跨域问题,跨域请求的报错如下图

    1.JQ 的jsonp 方式

    $.ajax({
          //只能是get 方式
          type:"get",
          //请求的地址
          url:"http://cs.cn/index/api/index",
          //必须 jsonp 方式
          dataType:"jsonp",
          //默认为:callback,对应处理页面接收的名字                 
          jsonp:"callback",
          //自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名 ,选填,优先执行此方法,处理自己的业务
          jsonpCallback:"xiaozhu",                       
          success : function(data){
                //请求返回的结果
                console.log('data');                    
           },
           error:function(){
                 alert('fail'); 
           }
     });

    //回调的函数,优先执行此方法
    function xiaozhu() {
    console.log(88)
    //业务处理
    }

    php 处理
    $callback=$_GET['callback'];
    $list=db('data')
    ->limit(5)
    ->select();

    return $callback.'('.json_encode($list).')';

    2.$_SERVER['HTTP_ORIGIN']

    $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
    $allow_origin = array(
        'http://localhost:8080',
        'http://test.com:8080',
        'http://test1.cn:8080'
    );
     
    if(in_array($origin, $allow_origin)){
        header('Access-Control-Allow-Credentials: true');
        header("Access-Control-Allow-Headers: *");
        header('Access-Control-Allow-Origin:'.$origin);
        header('Access-Control-Max-Age:3600');
    }

     

      

  • 相关阅读:
    CentOs6.5中安装和配置vsftp简明教程
    springboot mybatis的pagehelper分页
    IDEA分配内存无效
    linux查看磁盘占用常用的两个命令
    postgre alter命令修改字段
    postgre ~模糊查询慢解决方式
    禁止select标签选择,禁止select组件change值
    ztree checkbox父子联动
    Postgresql常用函数整理
    postgre 常用语法,如 group_concat用法
  • 原文地址:https://www.cnblogs.com/songxuan/p/10298416.html
Copyright © 2020-2023  润新知