我正在构建一个Laravel 5 REST API。并且角度应用程序对api执行JSONP CORS请求,但是我得到错误302并重定向到'/'。服务器有正确的CORS配置,我不知道哪里出错了。
请求的一般信息:
Request URL:http://example.com/api/getinfo?_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9&callback=angular.callbacks._0
Request Method:GET
Status Code:302 Found
请求标头:
Access-Control-Allow-Headers:Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With,Content-Length, Accept, x-csrf-token, origin
Access-Control-Allow-Methods:POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin:*
Cache-Control:no-cache
Connection:keep-alive
Content-Length:380
Content-Type:text/html; charset=UTF-8
Date:Fri, 15 Apr 2016 18:21:42 GMT
Location:http://example.com
Server:nginx
Set-Cookie:laravel_session=4aba180c69376045bad0e16c185ac60568378dcb; expires=Fri, 15-Apr-2016 20:21:42 GMT; path=/; httponly
答案 0 :(得分:0)
在Laravel中,错误302 (重定向到某个网址)通常与用户状态验证或其他中间件一起使用。例如,在以下代码中,如果用户没有管理员角色但通过isAdmin
中间件发出请求,则会将其重定向到索引页。
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\RedirectResponse;
class IsAdmin {
public function handle($request, Closure $next)
{
if (session('statut') === 'admin')
{
return $next($request);
}
return new RedirectResponse(url('/'));
}
}
因此,我建议您检查您的REST API是否在路由或控制器中有一些中间件。