jquery 之 jsonp 與 laravel 實現跨域

php_yt發表於2020-10-13

html

jsonp 前端使用上和普通 ajax 沒有區別,只是多了倆個引數 dataType: 'jsonp',jsonp: 'callback'

$.ajax({
    url:'https://',
    type:'post',
    data:{a:"b"},
    dataType: 'jsonp',
    jsonp: 'callback',
    success:function (data) {
        console.log(data);
    },
    error: function(err){
    }
});

laravel

後端需要對前端 jsonp 請求做出配合,首先獲取前端傳入的回撥函式名(不是callback哦),然後用該函式名與正常返回的資料組裝成 callback_key(data) 的格式。不過 laravel 處理很簡單。

$a = $request->input('a');
$callback = $request->input('callback');
//jQuery20008171824442973583_1602577769221

$data = ['key'=>'value'];
return response()->json([
    'code' => 0,
    'msg'  => 'success',
    'data' => $data,
], 200)->setCallback($callback);
本作品採用《CC 協議》,轉載必須註明作者和本文連結
focus

相關文章