通过XMLHttpRequest从文件:// URL发送GET到本地主机时出现CORS错误

时间:2018-12-24 17:40:55

标签: javascript html xmlhttprequest localhost

我有一台运行在计算机上的服务器,还有一个带有按钮的简单.html文件,用于从服务器接收数据。

它使用Javascript的XMLHttpRequest发送GET响应到服务器应用程序,即应用程序端口为“ http://localhost:8888/getData”的本地主机,但是在Firefox浏览器上会出现CORS错误。

发出请求的脚本通过file:// URL提供。

我一直在寻找有关此问题的很多信息,但没有找到任何信息。 有什么办法解决吗?我没有任何Web开发经验,无法正确理解某些内容,但是当我在浏览器的地址栏中写“ http://localhost:8888/getData”时,它就可以正常工作。

2 个答案:

答案 0 :(得分:2)

服务器应跨源感知。在Java中,您可以使用@crossorigin注释。

答案 1 :(得分:0)

您需要添加CORS支持。

要在FireFox,Safari,Chrome和IE 10及更高版本中启用跨域请求,您的服务器必须在所有响应中附加以下标头:

访问控制允许来源:域名

Access-Control-Allow-Credentials:true

允许访问控制的方法:ACL,取消加载,CHECKIN,CHECKOUT,COPY,DELETE,GET,HEAD,LOCK,MKCALENDAR,MKCOL,MOVE,OPTIONS,POST,PROPFIND,PROPPATCH,PUT,REPORT,SEARCH,UNCHECKOUT ,解锁,更新,版本控制 访问控制允许标题:覆盖,目标,内容类型,深度,用户代理,翻译,范围,内容范围,超时,X文件大小,X请求使用,If-Modified-Since, X文件名,缓存控制,位置,锁令牌,如果 Access-Control-Expose-Header:DAV,内容长度,允许

这些标头将在FireFox 3.6 +,Safari 4 +,Chrome 4+和IE 10+中启用跨域请求