我在端口AAAA
上运行了一个API服务器,并且在开发计算机上的端口BBBB
上运行了JS前端应用程序(使用yeoman的emberjs)。在实时服务器上,这些端口将是相同的。不幸的是,在开发机器上,我遇到了跨域政策问题。
我该怎么办?
PS:目前我通过使用
启动Chrome解决了这个问题open -a Google\ Chrome --args --disable-web-security
并在JS api中使用绝对根路径http://localhost:8888/
。但我真的不是硬编码的网址和特殊标志的粉丝。如果有更好的解决方案,请告诉我们!
答案 0 :(得分:0)
除了使用带--disable-web-security
的chrome之外,我使用此代码段来避免对API原点进行硬编码
var origin = location.origin.replace(/localhost:(\d+)/, 'localhost:8888');
并且仅为本地开发更改它。