我有一个laravel应用程序,我已经创建了各种api,他们等待我的应用程序发布/获取。
我正在开发一个使用Ngresource并发送post请求的离子应用程序,但是在测试时我收到以下错误:
XMLHttpRequest无法加载http://IPADDRESS/api/test响应 预检请求未通过访问控制检查:否 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:8100'因此是不允许的 访问。
我已经尝试将我的api路由包装在一个包含中间件CORS的中间件组中。我还在Kernel.php文件中注册了中间件。见下面的cors中间件。
<?php namespace App\Http\Middleware;
use Closure;
use Illuminate\Contracts\Routing\Middleware;
use Illuminate\Http\Response;
class CORS implements Middleware {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
return $next($request)->header('Access-Control-Allow-Origin' , '*')
->header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT, DELETE')
->header('Access-Control-Allow-Headers', 'Content-Type, Accept, Authorization, X-Requested-With');
}
}
但这没有任何区别,我得到同样的错误。
答案 0 :(得分:1)
快速脏解决方案是在浏览器中安装cors插件,它可以正常工作。
答案 1 :(得分:-1)