一、建立中间件

php artisan make:middleware CorsAjax

二、编写中间件 CorsAjax

<?php

namespace App\Http\Middleware;

use Closure;

class CorsAjax
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: *");
header("Access-Control-Allow-Headers: Content-Type,Access-Token");
header("Access-Control-Expose-Headers: *");

return $next($request);
}
}
三、注册中间件 Kernel.php
protected $routeMiddleware = [
'authorize' => \App\Http\Middleware\authorize_middleware::class,
'common' => \App\Http\Middleware\common::class,
'cors' => \App\Http\Middleware\CorsAjax::class,
];
四、在路由中应用中间件
/**
* API 调用
*/
Route::group([
'middleware' => ['cors'],
'prefix' => 'api',
], function () {
Route::any('/', function () {
$result = [
'App' => '回家吃饭',
'Version' => '1.0.1'
];
return $result;
});

Route::any('/cab/getpagelist', function () {
$cab = new \App\cab();
$params = $_GET;
$result = $cab->getpagelist($params);
return response($result, 200);
});
});
五、运行后端 Laravel http服务
假设域名为 foo.com
六、运行前端 http 服务
npm run dev
七、可以在组件中 (.vue)使用 AJAX 跨域访问了
代码如下:
getDataRemote: function () {
let self = this;
let url = 'http://foo.com/api/cab/getpagelist';
let params = {
field: self.field,
keyword: self.keyword
};
this.$axios
.get(url, {
params: params
})
.then(function (response) {
let data = response.data;
if (data.total > 0) {
self.page += 1;
self.cabData.rows = _.union(self.cabData.rows, response.data.rows);
}
});
},




Vue.js2 + Laravel5 采用 CORS 方式解决 AJAX 跨域的问题的更多相关文章

  1. 如何解决 ajax跨域被阻止 CORS 头缺少 'Access-Control-Allow-Origin'的问题?

    已拦截跨源请求:同源策略禁止读取位于 http://192.168.1.72:8080/securityMonitor_TV/service/getTest 的远程资源. (原因:CORS 头缺少 ' ...

  2. 如何解决ajax跨域问题(转)

    由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的跨域问题.本篇将讲述一个小白从遇到跨域不 ...

  3. 看小白如何解决ajax跨域问题

    由于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决ajax的跨域问题.本篇将讲述一个小白从遇到跨域不知道 ...

  4. 如何解决ajax跨域问题

    如何解决ajax跨域问题(转) 由 于此前很少写前端的代码(哈哈,不合格的程序员啊),最近项目中用到json作为系统间交互的手段,自然就伴随着众多ajax请求,随之而来的就是要解决 ajax的跨域问题 ...

  5. e3mall商城总结11之sso系统的分析、应用以及解决ajax跨域问题

    说在前面的话 一.sso系统分析 什么是sso系统 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次 ...

  6. 如何解决Ajax跨域问题-1

    如何解决Ajax跨域问题 最近在做AJAX调用C的问题,出现跨域问题,学习总结如下: 在做ajax读取数据的时候,经常会遇到ajax需要跨域的问题,但由于浏览器安全方面的限制,XMLHttpReque ...

  7. 解决ajax跨域问题的一种方法

    解决ajax跨域问题的一种方法 前后端分离经常用json来传输数据,比较常见的问题就有ajax跨域请求的错误问题,这里是我的一种解决方法: 在java中加入如下的注解类: import org.spr ...

  8. 【前端_js】解决ajax跨域请求数据

    1.ajax发送请求必须遵循同源策略,即请求方和相应方的协议头.域名.端口全部一样.只要三者有一个不一样都视为跨域,浏览器出于安全考虑不允许跨域访问. 解决ajax跨域访问的常用方法: a.使用jso ...

  9. 谷歌浏览器解决ajax跨域问题

    在用mui和H5+做混合开发,会利用HBuildx去真机调试,可真机调试总有问题所在,懂得人自然懂,而我们直接打开页面显示的只有一个静态的页面,是获取不到数据的在这里我想说的不是代码中利用jsonp, ...

随机推荐

  1. js-传送file

    这是选择文件的标签 <input type="file" class="add-image-input"> 这是js实现传输文件 var addIm ...

  2. 过滤器 ;spring拦截器 切片 小结

    1. springMVc的拦截器 实现HandlerInterceptor接口,如下: public class HandlerInterceptor1 implements HandlerInter ...

  3. J2SE 8的输入输出--序列化

    1. 普通序列化 implements Serializable 继承Serializable接口 class Employee implements Serializable { private S ...

  4. WP runtime local setting

    https://msdn.microsoft.com/en-us/library/windows/apps/windows.storage.applicationdata.localsettings. ...

  5. MySQL 查询时间差值大于某一个值的 记录

    "SELECT table_id, FROM table WHERE (timediff('%s',raise_time)<'00:05:00')" % \( table_i ...

  6. 一个js程序:离下一个圣诞节还有多少天?

    话不多说上代码: //离下一个圣诞节还有多少天 var christ=new Date(); christ.setMonth(11); christ.setDate(25); var year=now ...

  7. java socket编程--聊天小案例

    很久以前写过socket聊天室,都快忘完了,心血来潮又重新写一遍. 服务器端: package com.fancy; import java.io.BufferedReader; import jav ...

  8. 第八章 高级搜索树 (b4)B-树: 插入

  9. 第七章 二叉搜索树 (d1)AVL树:重平衡

  10. Django的模板继承

    来看一个例子 我们有一个订单的页面和购物车的页面,比如下面的截图,我的购物车的页面和订单的页面只有圆圈中的截图的内容不一样 所以我们的订单的html页面和购物车的html业务的html几乎都是一致的 ...