我在网络应用上遇到一个非常奇怪的CORS问题我试图制作 我使用Servlets(Tomcat8.0)作为后端。这是一个学校项目,所以我不能使用框架
向http://localhost:8080/FileBox/dashboard
发出GET请求
返回一个JSON有效负载(普通json,而不是jsonp,我可以使用它,但它是同一个域)。我使用ajax来制作XHR,但它被Chrome封锁为CORS
如果发生这种情况,因为我从同一个域(主机+端口)制作XHR
'localhost:8080/FileBox/dashboard.jsp'
to
'localhost:8080/FileBox/dashboard'
拜托,谢谢你的帮助!
答案 0 :(得分:1)
您没有向http://localhost:8080/FileBox/dashboard
发出请求。错误消息显示您正在使用不受支持的方案发出跨源请求,http
是受支持的方案。
据推测,你犯了两个错误:
您应该使用相对网址:
/FileBox/dashboard
但正在尝试使用绝对网址:
http://localhost:8080/FileBox/dashboard
但输入错误并实际请求
localhost:8080/FileBox/dashboard
可能通过双击系统文件管理器中的文件,您绕过了HTTP服务器并加载了file:///c:/users/you/yourproject/index.html
结合之前的错误,您最终尝试使用Ajax请求file:///c:/users/you/yourproject/localhost:8080/FileBox/dashboard
并获得安全违规。
http://localhost:8080
,而不是双击文件管理器中的文件