jquery 之 jsonp 与 laravel 实现跨域
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 协议》,转载必须注明作者和本文链接