我有一个 API 服务器在端口 AAAA
上运行,JS 前端应用程序(emberjs,使用 yeoman)在开发机器上的端口 BBBB
上运行。在实时服务器上,这些端口将是相同的。不幸的是,在开发机器上我遇到了跨源策略问题。
我该怎么办?
PS:目前我通过启动 Chrome 来解决这个问题
open -a Google\ Chrome --args --disable-web-security
并在 JS api 中使用绝对根路径 http://localhost:8888/
。但我并不是真正喜欢硬编码 url 和特殊标志。如果有更好的解决方案,请告诉我!
最佳答案
除了使用带有 --disable-web-security
的 chrome 之外,我还使用这个代码片段来避免对 API 来源进行硬编码
var origin = location.origin.replace(/localhost:(\d+)/, 'localhost:8888');
并且仅为本地开发更改它。
关于javascript - 不同端口的JS与API服务器交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14422291/