我在使用VueJS向我的Laravel应用程序发出一个AJAX请求时遇到了跨源问题。 我已经写了后端API与Laravel 5.3错误:laravel中的CORS/VueJS ajax请求
0
A
回答
0
这是一个Cors中间件使用:
namespace App\Http\Middleware;
use Closure;
class CorsMiddleware
{
public function handle($request, Closure $next)
{
$headers = [
'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => 'POST, GET, OPTIONS',
'Access-Control-Allow-Credentials' => 'true',
'Access-Control-Max-Age' => '86400',
'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-Requested-With'
];
if ($request->isMethod('OPTIONS')) {
return response()->json('{"method":"OPTIONS"}', 200, $headers);
}
$response = $next($request);
foreach($headers as $key => $value) {
$response->header($key, $value);
}
return $response;
}
}
+0
谢谢!我更新了这个中间件,并与我的laravel 5.3一起使用 – webDev
2
如果你正在做一个XMLHttpRequest到不同的域比你的页面上,浏览器会阻止它,因为它通常允许出于安全原因,同一产地的请求。当你想做一个跨域请求时,你需要做一些不同的事情。有关如何实现该目标的教程是Using CORS。
当您使用邮递员时,他们不受此政策的限制。从Cross-Origin XMLHttpRequest报价:
Regular web pages can use the XMLHttpRequest object to send and receive data from remote servers, but they're limited by the same origin policy. Extensions aren't so limited. An extension can talk to remote servers outside of its origin, as long as it first requests cross-origin permissions.
为了解决这个问题,您的外部API服务器可以通过设置下列头支持CORS请求:
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
可以通过laravel-cors完成作为意见提出。
相关问题
- 1. ajax请求中的错误
- 2. Ajax请求错误
- 3. 错误Ajax请求
- 4. ajax请求laravel 5
- 5. laravel UserRequest $请求错误
- 6. Laravel请求验证错误
- 7. AJAX请求太长/错误请求
- 8. Ajax请求404错误
- 9. jQuery AJAX请求错误
- 10. POST请求ajax jquery错误
- 11. yii2 Ajax请求错误404
- 12. Ajax的GET请求Laravel 5.2
- 13. AJAX请求的getContent Laravel 5.1
- 14. Jquery Ajax API错误:400错误请求
- 15. 简单的jQuery Ajax请求Laravel ..错误代码:500
- 16. Laravel AJAX删除请求
- 17. Laravel 4 javascript ajax请求
- 18. 在Flexigrid Ajax请求中捕获错误
- 19. ajax请求中的laravel验证
- 20. laravel中的Ajax请求验证
- 21. Laravel - 服务器上的请求错误
- 22. Angular 2和Laravel 5.3 ajax调用上OPTIONS请求错误的API调用错误
- 23. 请求后显示消息错误AJAX Laravel 5.1
- 24. 在Laravel进行AJAX请求时获取500错误
- 25. Ajax中的POST请求错误。错误后的空白页面
- 26. 错误$ .ajax()中的400错误请求,mongoDB目的
- 27. 使用jsonp错误的jQuery ajax请求
- 28. 406 jquery AJAX请求上的错误
- 29. Ajax请求中的jQuery Ajax请求
- 30. Laravel在Ajax请求中使用“@layout”
您将需要处理的起源请求你的API中。你可以使用这样的东西:https://github.com/barryvdh/laravel-cors –
你应该总是使用谷歌之前提问或至少堆栈的搜索。你会得到至少几个答案,而不会问很多很多人一样的问题 –