🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 跨域请求 1.第一步 设置响应头 ~~~ header('Access-Control-Allow-Origin:\*');  //支持全域名访问,不安全,部署后需要固定限制为客户端网址 header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); //支持的http 动作 header('Access-Control-Allow-Headers:x-requested-with,content-type,uid, user-token, business-id');  //响应头 请按照自己需求添加。 ~~~ laravel 中间件设置跨域 ~~~ // 中间件 返回json public function handle(Request $request, Closure $next) { // 跨域请求贵 $response = $next($request); $origin = $request->server('HTTP_ORIGIN') ? $request->server('HTTP_ORIGIN') : '*'; $allow_origin = [ 'http://www.work.com:8010', 'http://www.work.com:8020', 'http://www.work.com:8030', 'http://www.work.com:8040', 'http://www.work.com:8050', 'http://www.work.com:8060', 'http://www.work.com:8070', 'http://www.work.com:8080', 'http://www.work.com:8090', ]; if (in_array($origin, $allow_origin)) { $response->header('Access-Control-Allow-Origin', $origin); $response->header('Access-Control-Allow-Headers', 'Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN, uid, user-token, business-id'); $response->header('Access-Control-Expose-Headers', 'Authorization, authenticated'); $response->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, OPTIONS'); $response->header('Access-Control-Allow-Credentials', 'true'); } return $response; } ~~~ ### 2、ajax设置header 一、setting参数 headers ~~~ $.ajax({ headers: { Accept: "application/json; charset=utf-8" }, type: "get", success: function (data) { } }); ~~~ 二、beforeSend方法 ~~~ $("#test").click(function () { $.ajax({ type: "GET", url: "default.aspx", beforeSend: function (request) { request.setRequestHeader("Test", "Chenxizhang"); }, success: function (result) { alert(result); } }); }); ~~~ ### 3、ajax跨域 ## get()请求: ~~~ $.ajax({ type: "get", url: "你的请求地址", dataType: 'jsonp', //【jsonp进行跨域请求 只支持get】 data:{ //【这里填写是传给服务端的数据 可传可不传 数据必须是json格式】 "a":"b", "c":"d" }, success: function(data) { //【成功回调】 console.log(data); }, error: function(xhr, type) { //【失败回调】 } }); ~~~ ## post()请求: ~~~ $.ajax({ type:"post", url:"你的请求地址", data:{ //【这里填写是传给服务端的数据 可传可不传 数据必须是json格式】 "a":"b", "c":"d" }, dataType:'json', //【这里要小心啊,不要用jsonp,一定是json】 crossDomain: true, //【这个很重要,一定要加】 success:function(result){ console.log(result); }, error:function(result){ console.log(result); } }); ~~~