我使用Laravel制作了一个API,尝试发布时遇到错误。我不知道是否需要从javascript发送crsf,或者是否使cors中间件错误。
当我使用API时,我没有任何问题。
这是我的中间件。它已添加到kernel.php文件中。
class Cors{
public function handle($request, Closure $next) {
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PATCH, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Origin, Content-Type, X-Auth-Token, Authorization, X-Requested-With, x-xsrf-token, ip');
}
}
在javascritp上,我在标头上添加了以下内容:“ Content-Type”:“ application / json”。
这是它给我的错误
从原点“ http://localhost:8000/api/user/1/videos/1/newComment”到“ http://localhost:4200”处对XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:否'Access-Control-Allow-来源的标头出现在请求的资源上。
非常感谢您的帮助。
答案 0 :(得分:1)
尝试将其添加到项目根目录的index.php顶部...
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
?>