js怎么读取一个线上的.json文件内容?
一个线上的.json文件链接,能否用js读取到内容?
例如http://119.23.29.40/test.json
类似这样的链接,可以直接用js读取出内容吗?
fileReader好像只能读取blob对象或者file对象的内容,那这种链接该怎么读取呢
----------更新-----------
用jquery的$.ajax()可以拿到数据,不过需要nginx上配置一些可允许跨域的参数(因为存在跨域的问题)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
解决方案如下:
1 同源可直接读取
如果http://119.23.29.40/test.json 和js文件处于相同域,可直接读取
2 不同源
(1) 是否能控制http://119.23.29.40/test.json 的返回头部? 浏览器本身有对跨域做一些限制,如果你需要跨域调用,添加如下http头部:
(2)不能控制,则需要自己添加代理服务器作为中转(题主所说的nginx也可以作为代理中转),添加跨域头部.
有作者已经做好的:https://www.npmjs.com/package...
总结
遇到跨域问题,涉及浏览器的同源政策限制,同源直接读取,跨域需要添加跨域头部. 不能控制,则可以添加中转服务器处理.
同源直接ajax就能读
同源的这样就能读