thinkphp5.1 restfull 资源路由被跨域请求时,OPTIONS预检请求处理

一般开发接口资源请求服务端都会遇到跨域请求。

在跨域请求的时候,明明设置的是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: * ");

跨域问题已经解决

你可能感兴趣的:(thinkphp5.X)