以前是写在控制器的方法里的
public function prepare(){
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *');
/**业务逻辑**/
但是如果用了路由,这种方法是无效的,因为跨域会先发起一个OPTIONS请求,无法通过路由,根本都到达不了控制器!
解决办法之一就是在路由中设置跨域
/** route.php **/
Route::post('large/prepare','fang/Online/large_prepare');//需要跨域的接口
Route::rule('large/prepare',function (){
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: *');
},'OPTIONS'); //直接在这里设置跨域就可以解决了
还有一种方法是在入口文件里设置跨域,这种方法会使整个项目的接口都允许跨域,大家可以根据实际情况来选择