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);
        }
    

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

  • 相关阅读:
    Bubble Sort (5775)
    Dertouzos (5750)
    codeforces 360 E
    codeforces 360 D
    codeforces 360 C
    Mike and Cellphone
    训练2——B
    训练1——A
    符号三角形
    Sudoku Killer
  • 原文地址:https://www.cnblogs.com/hxsen/p/12688570.html
Copyright © 2011-2022 走看看