JS和API服务器在不同端口上的交互

时间:2013-01-20 06:33:29

标签: javascript ajax cross-domain-policy

我在端口AAAA上运行了一个API服务器,并且在开发计算机上的端口BBBB上运行了JS前端应用程序(使用yeoman的emberjs)。在实时服务器上,这些端口将是相同的。不幸的是,在开发机器上,我遇到了跨域政策问题。

我该怎么办?

PS:目前我通过使用

启动Chrome解决了这个问题
open -a Google\ Chrome --args --disable-web-security

并在JS api中使用绝对根路径http://localhost:8888/。但我真的不是硬编码的网址和特殊标志的粉丝。如果有更好的解决方案,请告诉我们!

1 个答案:

答案 0 :(得分:0)

除了使用带--disable-web-security的chrome之外,我使用此代码段来避免对API原点进行硬编码

var origin = location.origin.replace(/localhost:(\d+)/, 'localhost:8888');

并且仅为本地开发更改它。