header("Allow-Control-Allow-Origin:允许跨域的域名(实际开发中不建议使用*)")如果需要前后端跨域session共享$.ajax({
url:url,
<! -- 加上此部分 Start-- >
xhrFields: {
withCredentials: true
},
crossDomain: true,
<! -- 加上此部分 End-- >
success:function() {
},
error:function() {
}
});后端应该加上header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Origin:http://mymyjd.cn");//注意修改这里填写你的前端的域名
header("Access-Control-Max-Age:3600");
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,SessionToken");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE');但是仅仅这样只能实现简单请求的跨域,对于复杂请求如put Delete 请求还没有找到最优的解决方法Route::get('new/:id', 'News/read')
->ext('html')
->allowCrossDomain();跨域请求一般会发送一条 OPTIONS 的请求,一旦设置了跨域请求的话,不需要自己定义 OPTIONSAccess-Control-Allow-Origin:*
Access-Control-Allow-Methods:GET, POST, PATCH, PUT, DELETE
Access-Control-Allow-Headers:Authorization, Content-Type, If-Match, If-Modified-Sinc
e, If-None-Match, If-Unmodified-Since, X-Requested-With你可以添加或者更改Header信息,使用Route::get('new/:id', 'News/read')
->ext('html')
->header('Access-Control-Allow-Origin','thinkphp.cn')
->header('Access-Control-Allow-Credentials', 'true')
->allowCrossDomain();
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。