本地文件访问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

时间: 2024-07-30 16:29:33

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

Html5 本地文件读取 API 研究使用过程中的意外发现 - MDN

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 补充: 终于可以读出肉的眼能看懂的人类文字了!!! 经在 safari 7.0.4(9537.76.4) 测试,即使关闭 WebGL 支持,Fil

Springmvc框架-json数据格式传递过程中-将时间戳转化成标准的日期格式[email protected]

在上一个小demo中,我们能够看出,其实返回的日期格式也是不对的,现在返回的是一个时间戳,并不是一个标准的日期格式. 解决办法: 第一种:在要转化的实体类中添加@JSONField注解 第二种:配置fastjson的消息转换器,来处理日期格式的问题 springmvc-servlet.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.spring

eclipse,tomcat部署web项目,以及本地文件访问

1.直接把项目复制到Tomcat安装目录的webapps目录中,这是最简单的一种Tomcat项目部署的方法,也是初学者最常用的方法. 2.在tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host>之间插入如下语句. <Context path="/hello" docBase="F:\eclipse3.2\workspace\hello\WebRoot"

提交本地文件至gitlab已有的项目中(更新gitlab)

gitlab代码更新 gitlab官网 1.安装git git官网 官网下载安装,安装过程一直next即可(路径自己选) 2.clone至本机 格式:git clone url(可转到指定目录克隆) 在本机将需要更新的内容放到指定目录下 3.添加提交至gitlab 命令如下 git add . git commit -m "commit" git push 如果是第一次会报如下错误: 只要输入图中报错给的两行代码就解决了. 然后继续执行上述命令 原文地址:https://www.cnb

Android Studio上手,基于VideoView的本地文件及流媒体播放器

既然是第一个Android程序,少不了要Hello World. 1. 新建安卓工程 2. 输入工程名称 3. 选择平台版本 4. 选择一个空的Activity 5. 定制自己的Activity 点击Finish后,便生成了可以直接运行的Hello World程序.下面开始讨论怎样使这个只能打印Hello World的程序能够播放本地和网络视频. 此处附上功能目录结构: 6. 布局文件 首先需要重新布局.设计器的设计结果是保存在"activity_video_view_demo.xml"

chrome中workspace配置达到同步修改本地文件的作用

在前端开发中,我们经常需要在浏览器中进行调试,特别是一些样式的修改,如果你还是先在浏览器elements中调试好在复制到本地文件,那就真的out了. chrome浏览器的workspace功能完全可以帮你实现同步修改,但需要一些设置.好了,废话不多说,先看下面的例子: 1.在chrome中打开本地html文件,F12,打开调试器 2.在右上角的选择菜单中选择setting 3.在左侧菜单栏中选择workspace,并点击add folder添加项目目录所在文件夹 4.点击add,添加mappin

头疼:为什么chrome不能访问本地文件(带--disable-web-security --allow-file-access-from-files )

如题,寻求帮助! chrome 带参数启动 --disable-web-security  --allow-file-access-from-files 照理应该可以加载本地文件,找遍google和英文网站,还是没解决问题. chrome控制台不报错,但是请求状态 canceled. AJAX用jquery库也一样. <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

js vs2013中允许js访问json文件的解决方案

js  vs2013中允许js访问json文件的解决方案 <?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="tr

让Chrome支持Ajax/$http方式读取本地文件

在开发中经常写些小demo调试一下插件什么的 数据源又经常手动构造分离为一个单独的文件.用ajax或$http去访问时总是拒绝访问.这个时候可以给Chrome的快捷图标加启动参数,让浏览器允许js访问本地文件.在快捷图标右键属性=>目标位置后附加即可: --allow-file-access-from-files 代码里配置好路径即可正常读取,例如: app.controller('FileController',function($scope,$http){ $scope.obj={}; $h