zoukankan      html  css  js  c++  java
  • laravel(包含lumen)框架中的跨域函数实例

    1. 设置允许所有的网站使用普通ajax的方式的跨域解决
        // 获取支持跨域的js返回
        public function tokenKy(){
            $data = [
                'a'=>1,
                'b'=>2,
                'c'=>3,
            ];
            return response()
                ->json($data)
                ->header('Access-Control-Allow-Origin', '*');
        }
    
    1. 使用函数自行构建的jsonp的回调形式的跨域解决
    // 获取jquery的callback的跨域处理的js
    public function tokenCb2(Request $request){
        $callback = $request['callback'] ?? 'callback';
     
        // 返回的数据
        $data = [
            'a'=>1,
            'b'=>2,
            'c'=>3,
        ];
     
        $result = $callback."(".json_encode($data).")";
     
        return response($result)
            ->header('Content-Type', 'application/javascript;charset=utf-8');
    }
    
    1. 使用laravel(或者lumen)的内置函数的跨域解决[推荐]
    // 使用lumen支持的跨域返回值
        public function tokenCb(Request $request){
            $callback = $request['callback'] ?? 'callback';
            // 返回的数据
            $data = [
                'a'=>1,
                'b'=>2,
                'c'=>3,
            ];
            return response()
                ->json($data)
                ->setCallback($callback);
        }
    

    在这里推荐使用第三种方法,第二种方法为你展示了,跨域解决的原理

  • 相关阅读:
    后缀树到后缀自动机
    bzoj 4199 品酒大会
    BZOJ 4310 跳蚤
    BZOJ 4545 DQS的Trie
    BZOJ 3238 差异
    BZOJ 3277 串
    BZOJ 3926 诸神眷顾的幻想乡
    线程与进程
    SparkSql自定义数据源之读取的实现
    spark提交至yarn的的动态资源分配
  • 原文地址:https://www.cnblogs.com/hxsen/p/12688570.html
Copyright © 2011-2022 走看看