如何调试“请求的资源上不存在‘Access-Control-Allow-Origin’标头”

2024-03-14

我在浏览器控制台上显示此错误:

XMLHttpRequest 无法加载http://localhost:8080/api/登录 http://localhost:8080/api/login。请求的资源上不存在“Access-Control-Allow-Origin”标头。起源 'http://本地主机:9009 http://localhost:9009' 因此不允许访问。

我使用的环境是:

  • Backend- 春季启动
  • 前端- Angularjs
  • 网络服务器- Grunt

在服务器上,我已经将请求和响应中的标头定义为:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        HttpServletResponse httpResponse = (HttpServletResponse) response;

        httpResponse.setHeader("Access-Control-Allow-Origin", "*");
        httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE,PUT");
        httpResponse.setHeader("Access-Control-Max-Age", "3600");
        httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with,Authorization, Content-Type");

        if (httpRequest.getMethod().equals("OPTIONS")) {
            httpResponse.setStatus(HttpServletResponse.SC_ACCEPTED);
            return;
        }
}

我已经在此链接上找到了这个问题请求的资源上不存在“Access-Control-Allow-Origin”标头 https://stackoverflow.com/questions/20973622/no-access-control-allow-origin-header-is-present-on-the-requested-resource但找不到合适的解决方案。

这是浏览器网络图像:


您的服务器应该为预检/实际 CORS 请求添加正确的 CORS 标头。我不建议实现您自己的过滤器,因为这是一个相当复杂的规范。

从 4.2 开始,Spring Framework 通过全局配置或 Filter 支持 CORS -请参阅此博客文章了解更多信息 https://spring.io/blog/2015/06/08/cors-support-in-spring-framework.

如果您使用的是 Spring Boot,版本 1.3.0(即将发布)将整合此支持 http://docs.spring.io/spring-boot/docs/1.3.0.BUILD-SNAPSHOT/reference/html/boot-features-developing-web-applications.html#boot-features-cors.

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

如何调试“请求的资源上不存在‘Access-Control-Allow-Origin’标头” 的相关文章

随机推荐

  • 确定是否有任何双精度组合从设定总和到目标值

    我在工作中遇到一个问题 让我有点困惑 我需要验证给定的药物剂量可以由药丸剂量大小的任意组合构成 例如 dose 400 0 sizes 15 0 30 0 45 0 400 不能由这些值的任何总和创建 至少我认为这是真的 但是 如果变量更改
  • Java Swing - 半透明组件

    我最近问了一个关于半透明组件因看似未正确更新而导致奇怪的工件的问题 我收到的答案导致伪像消失 但以半透明为代价 解决方案是 对于每个半透明组件 也调用 setOpaque false 函数 这样 Swing 知道它需要重绘这些组件后面的背景
  • 如何在 shell 脚本中将文件作为 stdin 传递

    我有一个 bash 脚本 当像这样调用时可以工作 stats sh rows test file 该程序主要计算行平均值和中位数以及列平均值和中位数 现在对于程序 我想将文件作为标准输入传递 但是当我运行这段代码时它会打印 you have
  • Python 请求没有给我提供与浏览器相同的 HTML

    我正在使用 Python 请求抓取 Wikia 页面 但有一个问题 requests 请求没有给我相同的 HTML因为我的浏览器具有完全相同的页面 为了比较 这是 Firefox 给我的页面 https www dropbox com s
  • python在哪里存储全局变量和局部变量?

    和问题几乎一样本地 全局 静态 自动 寄存器 外部 常量 易失性变量存储在哪里 https stackoverflow com questions 3684760 where the local global static auto reg
  • Vuejs v-model 特殊字符

    你能用 v model 转义特殊字符吗 我在编辑从数据呼叫中收到的文本时遇到了问题 编辑时 this 在文本区域中显示为 this 我知道 v html 但是你能将它与 v model 一起使用吗 如果没有 还有什么选择 v model作品
  • 将动态生成的 GridView 放入 ASP.Net C# 中的特定

    我在 C 的代码隐藏文件中创建了 gridview 我想将该 gridview 放入特定的 div 源文件的 我生成网格的代码是 using System using System Collections Generic using Sys
  • 仅从一个 div 中获取选定的文本

    我有一个包含许多表格和 div 的页面 其中一张带有一些文字 页面在此 div 后还有一个 url 需要 如果用户从 div id comment 中选择文本 div 内的文本以及此 div 中的另一个 div 内的文本 则在按 url 后
  • VScode远程连接错误:进程尝试写入不存在的管道

    我使用vscode和remote ssh连接我的服务器 配置后 我想连接我的主机 但失败了 对话框显示 无法建立与XX的连接 进程试图写入不存在的管道 output 16 45 20 916 Log Level 3 16 45 20 936
  • 如何将 python 中的命令行参数转换为字典?

    我正在编写一个应用程序 它接受任意命令行参数 然后将它们传递给 python 函数 myscript py arg1 1 arg2 foobar arg1 4 然后在 myscript py 中 import sys argsdict so
  • python ssl eof 发生违反协议、wantwriteerror、zeroreturnerror

    我正在使用 gevent 为池运行许多 celery 任务 20 000 也用猴子修补所有任务 这些任务中的每一个都会调用 adwords 等第三方服务来提取数据 由于潜在的 SSL 错误 我的任务不断失败 下面是一些异常的堆栈跟踪 排名不
  • 正则表达式从捕获中排除匹配项

    在 Net 中使用正则表达式 我将有一组类似这样的数据 lt Bunch o Data Here gt where lt 只是新记录的指标 gt 是记录的结尾 这些记录可能会像这样出现 lt Dataset 1 gt
  • C++ 矢量数学和 OpenGL 兼容

    我一直在做很多矢量数学的工作 并为其编写了自己的模板 我的要求是大量的向量数学 加法 减法 缩放 叉乘和点积 而且我需要能够将我的向量作为 float 传递 以便 openGL 可以使用它 我已经很高兴地使用这个有一段时间了 今天一位讲师看
  • Codeigniter:如何获取文件的文件名

    我是 Codeigniter 新手 我正在尝试获取上传图像的文件名 以便将其保存在数据库中 我有两个模型 homemodel 处理我的数据库 image upload model 处理图像上传 一切正常 除了我不知道如何将图像文件名发布到数
  • 如何在 Xcode 5 中的 Storyboard 上抑制约束和布局警告?

    是否有任何标志可以抑制 Xcode 5 中故事板的不明确布局或错误放置的视图 我在代码中添加约束 并且只是使用 Interfacebuilder 中的视图作为虚拟对象 我不想应用 Xcode Resolve 自动布局问题 因为我很高兴视图在
  • 当我登录 Azure 门户时,Azure Function 计时器运行两次

    我在 Azure 中有一个定时函数应用程序 计划在每天 22 00 运行 然而 它似乎每天都在 21 59 和 22 00 运行 当我登录 Azure 门户检查日志时 它似乎也是随机运行的 以下是我收到的重复条目的时间戳示例 我在网上搜索过
  • ASP.Net MVC 应该为每个视图创建一个模型吗?

    我对 ASP Net MVC 相当陌生 我发现自己为每个视图制作一个模型类 例如 SignInModel SignUpModel EditProfileModel 等 其中许多都有些相似 具有相同的数据库文件 然后还有一些自定义属性 这真的
  • PyInstaller 无缓冲 stdio

    Problem Docker 镜像大小通常应尽可能小 使用成熟的环境 例如标准蟒蛇 https hub docker com python 安装了所有依赖项后 图像通常会导致图像严重膨胀 将 python 打包成独立的可执行文件 例如使用
  • c# MVC 站点地图 - 使用角色时非常慢 - 非常慢

    我已经安装了适用于 MVC5 的 MVC 站点地图提供程序 并且使用了开箱即用的所有内容 效果很好 现在我想实现基于角色的菜单修剪 所以假设我的控制器 public class Home Controller Authorize Roles
  • 如何调试“请求的资源上不存在‘Access-Control-Allow-Origin’标头”

    我在浏览器控制台上显示此错误 XMLHttpRequest 无法加载http localhost 8080 api 登录 http localhost 8080 api login 请求的资源上不存在 Access Control Allo