CORS Laravel VueJS

2023-12-12

我正在尝试使用 axios 从 VueJS 到 Laravel(这是我的 API)。

我收到这个错误:

访问 XMLHttpRequest 位于 'http://api.test/api/events/1/'从原点>'http://本地主机:8080' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control->Allow-Origin”标头。

未捕获(承诺)错误:网络错误 在 createError (createError.js?2d83:16) 在 XMLHttpRequest.handleError (xhr.js?b50d:87)

我尝试创建一个名为“cors”的中间件,例如here但这对我不起作用,或者也许我做得很糟糕?

奇怪的事情 ?是与 Postman 合作的。

感谢您的帮助! :)


服务器用于托管网页、应用程序、图像、字体和 多得多。当您使用网络浏览器时,您可能会尝试 访问不同的网站(托管在服务器上)。网站经常要求 这些托管资源来自不同位置(服务器) 互联网。服务器上的安全策略减轻了相关风险 请求资产托管在不同的服务器上。让我们来看看 安全策略示例:同源。

同源策略的限制非常严格。根据这项政策, 服务器 A 上托管的文档(即,像网页)只能交互 以及服务器 A 上的其他文档。简而言之, 同源策略强制执行与每个文档交互的文档 其他同源。


检查这个CORS专为 Laravel 使用而制作的库。 安装很简单:

$ composer require barryvdh/laravel-cors
$ php artisan vendor:publish --provider="Barryvdh\Cors\ServiceProvider"

默认值设置在config/cors.php

return [
     /*
     |--------------------------------------------------------------------------
     | Laravel CORS
     |--------------------------------------------------------------------------
     |
     | allowedOrigins, allowedHeaders and allowedMethods can be set to array('*')
     | to accept any value.
     |
     */
    'supportsCredentials' => false,
    'allowedOrigins' => ['*'],
    'allowedHeaders' => ['Content-Type', 'X-Requested-With'],
    'allowedMethods' => ['*'], // ex: ['GET', 'POST', 'PUT',  'DELETE']
    'exposedHeaders' => [],
    'maxAge' => 0,
];

allowedOrigins, allowedHeaders and allowedMethods可以设置为array('*')接受任何值。

要允许所有路由使用 CORS,请将 HandleCors 中间件添加到$middleware的财产app/Http/Kernel.php class:

protected $middleware = [
    // ...
    \Barryvdh\Cors\HandleCors::class,
];

如果您想在特定中间件组或路由上允许 CORS,请将 HandleCors 中间件添加到您的组中:

protected $middlewareGroups = [
    'web' => [
       // ...
    ],

    'api' => [
        // ...
        \Barryvdh\Cors\HandleCors::class,
    ],
];

https://www.codecademy.com/articles/what-is-cors

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CORS Laravel VueJS 的相关文章

  • fetch get 请求返回空标头

    Headers was indeed sent via http However fetch returned empty headers 事实证明我需要设置Access Control Expose Headers包含我想公开的标题
  • 数据库 - 字符串作为主键? [复制]

    这个问题在这里已经有答案了 我使用 Laravel 5 开发一个应用程序 并在开发过程中使用 sqlite 我想稍后切换到更快的东西 我想要一个字符串作为用户表的唯一标识符 这有什么问题吗 例如使用外键 或者说自动递增整数没有什么区别 简短
  • laravel 根据条件隐藏字段[重复]

    这个问题在这里已经有答案了 我有一个名为 Vote actions 的数据库和模型 如下所示 id group id user id 动作类型 匿名 布尔值 用户可以要求匿名 这将使布尔值变为 true 如果是这种情况 我想将返回模型中的
  • 使用身份验证令牌的 Axios 请求有时会在 Safari 中失败

    我正在开发一个使用 axios 0 19 0 的 React 16 9 0 单页应用程序 axios 请求使用令牌身份验证来访问运行 django rest framework 3 6 4 和 django cors headers 3 1
  • 从 Laravel 中的命令调用控制器方法

    我有一个通过 Redis Pub Sub 监听的命令 收到发布后 我想调用控制器方法 以便可以更新数据库 但是 我无法找到任何关于如何从项目内部但在路由外部调用带有参数的控制器方法的解决方案 我见过的最接近的东西是这样的 return re
  • 当 Axios 中的 responseType 为 blob 和 VueJs 时,如何读取 http 错误? [复制]

    这个问题在这里已经有答案了 我在 VueJS 应用程序中使用 Blob responseType 和 Axios 从服务器下载文档 当响应代码为 200 时 它工作正常并下载文件 但是当出现任何 http 错误时 我在捕获错误时无法读取状态
  • Angular CORS 简单请求通过 POST 中的授权标头触发预检

    根据文档 对于简单的请求 预检不应该发生 https developer mozilla org en docs Web HTTP Access control CORS https developer mozilla org en doc
  • 嵌套组件无法正确重新渲染:VueJs

    我是 Vue 新手 我正在构建这个论坛之类的东西 可以在其中添加嵌套评论 这里有两个组件 发表论坛和评论 PostForum 包含一个输入框和父评论 在每个评论中 我递归地添加了子评论 当我添加评论时 效果很好 但是删除时 它发送ajax请
  • 使用 vue-router 保留组件状态?

    我有一个列表 详细信息用例 用户可以双击产品列表中的项目 转到详细信息屏幕进行编辑 然后在完成后返回列表屏幕 我已经使用此处描述的动态组件技术完成了此操作 https v2 vuejs org v2 guide components htm
  • Laravel 中无效后防止重定向到主页

    我正在使用 Laravel 5 3 开发 RESTful API 因此我正在使用我的控制器测试一些功能和请求 我需要做的一件事是在数据库中添加字段之前验证用户发送的请求 因此 我使用自定义 FormRequest 来验证它 当我在 Post
  • 在 Laravel 5.2 中按 id 显示图像文件

    我有一个名为 files 的表 它保存与属性表相关的图像的名称 我试图使这些图像显示为以下关系 这是属性表的一部分 这是表文件及其与属性表的关系 我可以在控制器 PropertyController 的 show 方法中传递什么参数 目前我
  • 无法使用 axios 读取未定义的属性“.then”并在操作中做出反应

    我在一个操作中使用 axios 并尝试通过链接操作调用该操作 我将在这里展示我正在尝试做的事情 this props fetchOffers then gt this props filter this props filterOption
  • Laravel 5 错误处理

    我正在使用 Laravel 5 并且正在尝试制作自定义 404 页面和自定义异常处理 但我不知道将代码放在哪里 前段时间有一个 ErrorServiceProvider 不再存在 有人能给我一些指点吗 编辑 我看到他们在 App Excep
  • Vuex 2.0 调度与提交

    有人可以解释一下什么时候使用调度和提交吗 我理解提交会触发突变 调度会触发操作 然而 派遣不也是一种行动吗 正如你所说 dispatch触发一个动作 并且commit触发突变 以下是如何使用这些概念 你总是用 dispatch来自路线 组件
  • 从 Axios 响应中解析 XML,推送到 Vue 数据数组

    在我的 Vue 应用程序中 我使用 Axios 获取 XML 文件并使用parseString将 XML 解析为 JSON 然后我需要通过result到 Vue 数据 this events My console log将解析后的 XML
  • laravel 4嘲笑模拟模型关系

    假设我有两个模型延伸自Eloquent并且它们彼此相关 我可以嘲笑这段关系吗 ie class Track extends Eloquent public function courses return this gt hasMany Co
  • 通过 Laravel 框架集成现有项目?

    我已经从 github 克隆了一个项目 现在我需要集成该项目 那么如何使用 laravel 框架 我是否需要创建一个新项目然后需要替换文件夹 或任何其他替代方案 因为我是这个框架的新手 帮助我 这是一个广泛的问题 因为这取决于您的项目 而我
  • 当错误较多时,Laravel 不会显示错误。这是 Bug?

    重复的https github com laravel framework issues 31123 https github com laravel framework issues 31123 Laravel 版本 6 8 0 6 10
  • 适用于 HTML5 混合应用程序的 CORS

    我读过很多关于 CORS 的文章 以及允许 Access Control Allow Origin 如何成为 Web 服务器的安全漏洞 但没有一篇文章解释了如何允许 HTML5 混合应用程序访问某些不允许使用通配符 的域上托管的 Web 服
  • Laravel Socialite:项目中尚未使用 Legacy People API

    我在我的 Web 应用程序上使用 Laravel 5 4 和 Socialite 3 0 进行社交登录 但现在我遇到了一个错误旧版 People API 尚未在项目 xxx 中使用 然后我对socialite包的核心文件做了一些更改 ven

随机推荐