java - 我的应用程序没有响应前端给出的请求并引发 CORS 异常
问题描述
我已经使用dropwizard
.
通过这个,我能够创建资源,其中我创建了一个实体,用于索引文档、搜索请求、通过 id 获取文档。
通过在邮递员中点击 API,我得到了想要的结果。
为了开发 Web 应用程序,我使用 ember.js 构建了前端。
但是当我向我的应用程序发送请求时,我得到了CORS 策略异常。
- 当我通过邮递员将请求发送到
http://localhost:9090
(9090
是我的 ApplicationConnector 的端口号)时,它正在响应请求。 - 现在,当我从源
http://localhost:4200
(4200
是 ember.js 的默认端口号)向http://localhost:9090
它发送请求时,它给出了错误:
- 当我通过邮递员将请求发送到
在http://localhost:9090/ {indexName}/{id} >from origin http://localhost:4200访问 XMLHttpRequest已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:
否' Access->Control-Allow-Origin' 标头出现在请求的资源上。
那么有人可以解释一下如何解决这个问题,除了在 Dropwizard 中启用 CORS 之外是否还有其他方法?
解决方案
您需要在 Dropwizard 中启用 CORS,或者从同一主机(主机名和端口)同时提供前端和 API。否则会被CORS 安全功能禁止,所有主流浏览器默认启用该功能。邮递员不关心 CORS。
推荐阅读
- eclipse - com.gradle.build-scan 插件未找到
- php - 在 laravel 中调用未定义的函数 ssh2_connect()
- java - 通过java使用DPI压缩pdf大小
- java - 找不到的“javax.servlet.ServletContext”
- node.js - MongoDB Stitch 在 Facebook 登录尝试期间双重编码重定向 URI 破坏登录过程?
- python - 添加元素而不定义模型选项字段
- angular - Video in Angular - TypeError Issue
- mysql - 将 IP 列表加载到 MySQL 表
- python - 内部服务器错误 [使用 ubuntu 的 apache 上的烧瓶]
- arrays - ReactJS: Filter rendering of a list by whole names only?