XMLHttpRequest cannot load http://localhost:8080/api/test. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.
我阅读了有关跨域 ajax 请求的信息,并了解了潜在的安全问题。就我而言,有 2 台服务器在本地运行,并且喜欢在测试期间启用跨域请求。
localhost:8080 - Google Appengine dev server
localhost:3000 - Node.js server
当我的页面从节点服务器加载时,我正在向 localhost:8080 - GAE server
发出 ajax 请求。什么是最简单、最安全的(不想使用 disable-web-security
选项启动 chrome)。如果我必须更改 'Content-Type'
,我应该在节点服务器上进行吗?如何?
原文由 bsr 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于它们在不同的端口上运行,它们是不同的 JavaScript
origin
。它们在同一台机器/主机名上并不重要。您需要在服务器 (localhost:8080) 上启用 CORS。看看这个网站: http ://enable-cors.org/
您需要做的就是向服务器添加一个 HTTP 标头:
或者,为简单起见:
如果您的服务器尝试设置 cookie 并且您使用
withCredentials = true
,请不要使用“*”您可以在此处阅读有关
withCredentials
的更多信息