本地文件访问json数据格式,在chrome中没反应

原因:存在跨域问题

在JavaScript的安全性上,有一条很重要的安全限制,叫“同源策略”。就是一个脚本只能读取与它同源(如由同一个主机下载,通过同一个端口下载或者下载协议相同)的窗口或者文档的属性。

这种限制是很有必要的,如果没有这种限制,窗口中的不可靠脚本就可以用DOM方法读取浏览器窗口的内容,而窗口中可能会含有私有信息。

查出来的结果是Chrome在读取本地相对路径脚本时,禁止向第三方请求数据。chrome的安全机制限制了本地文件的xhr请求。

其他浏览器:

Firefox:没有任何安全提示与确认,跨域成功。

IE11:默认会提示加载不安全activex控件,要求确认,确认之后跨域是OK的。

关于Ajax跨域的问题,有兴趣的还可以看一下这份文档:How to run things locally

How to run things locally中可以看到各种解决方法:

其中在nodejs服务器上:

 1、打开cmd窗口,移动到相关目录下,此处以E盘为例:

     

2、安装http-server

     使用命令安装 npm install http-server -g

     -g:为全局安装 ,安装到C:\Users\用户名\AppData\Roaming\npm\node_modules下

    如果只是目录下使用则可移动到相关目录下使用   npm install http-server  安装

3、安装成功后输入  http-server

    

 

   默认的接口为8080,如果想自己设置端口,可使用   http-server  -p 8000

   

4、在浏览器中输入127.0.0.1:8000或者   192.168.14.117:8000

     

 

      页面中会显示出所有在此目录下的文件和文件夹

参考:http://www.cnblogs.com/AminHuang/p/4371574.html

 

转载于:https://www.cnblogs.com/loveamyforever/p/6638899.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值