一般开发接口资源请求服务端都会遇到跨域请求。
在跨域请求的时候,明明设置的是POST请求,却请求的时候报跨域错误,检查http请求头发现不是POST请求,而是发起了OPTIONS请求。
这个OPTIONS请求是预检请求,返回200后,就会发起刚才设置的POST请求。也就是说这个请求是探路的。
thinkphp5.1 restfull 对跨域两步设置即可解决问题:
以请求资源news为例:http://domain/news
路由设置:
Route::resource('news','index/news')->header('Access-Control-Allow-Credentials', 'true')->allowCrossDomain();
控制器设置:
在请求的方法里设置
header("Access-Control-Allow-Origin: * ");
跨域问题已经解决