xmlhttprequest - Laravel 访问 XMLHttpRequest 错误如何解决
问题描述
我有一个 Laravel 7 应用程序,我正在尝试在 Bootstrap 模型窗口中访问外部 URL。当我使用下面的 jQuery 函数时,单击按钮时,我想加载模型并显示外部网站。
$('#myModal').on('show.bs.modal', function (e) {
$(this).find('.modal-body').load('http://***.com');
});
我收到以下错误。
Access to XMLHttpRequest at 'http://****' from origin 'http://****' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
我已经搜索并找到了一种使用中间件的解决方案。我在app\http\Middleware\Cors.php
.
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods',
'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers',
'Accept,Authorization,Content-Type');
}
之后,我在app\http\Kernel.php
.
protected $middleware = [
....
...
\App\Http\Middleware\Cors::class,
];
但我仍然得到同样的错误。我该如何解决这个错误?
解决方案
Laravel 7 已于 3 月发布,并提供了对 CORS 的内置支持,因此开发人员无需使用第三方包即可在其 Laravel 应用程序中启用 CORS。
您可以使用 config/cors.php 文件进行 cors 设置。
有关更多详细信息,请点击链接 - https://www.techiediaries.com/laravel/laravel-7-6-cors-example-and-tutorial/
推荐阅读
- python - 我有一个保存为 txt 文件的 XML 文件我正在尝试从中提取数据以使用 Python 显示它
- activiti - 使旧用户任务遵循新版本的流程定义
- python - Keras:非常低的准确率,非常高的损失和预测对于每个输入都是相同的
- excel - 如何在连续合并列后引用单元格?
- arduino - 如何从 ESP32 发送到 Arduino?
- azure - 从 Azure 自定义视觉导出以使用 TensorFlow 的模型不完整
- r - R data.table 如何根据另一列的值从许多列中的一个(按列名称)获取值
- scala - Sum of int elements in list and vector using single function in Scala
- post - Can TIndyHTTP's POST method be called multiple times very quickly?
- python - Gunicorn“应用程序对象必须是可调用的”错误