关于本地文件请求json文件
因为需要用到json数据格式,上网查了一下例子之后我就想本地测试一下看能不能成功。
结果,chrome下没有任何反应,打开控制台之后报错如下:
XMLHttpRequest cannot load file:///E:/project/info.json. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
查了一下资料发现,这似乎是Ajax跨域问题。
什么叫跨域?
首先我们应该知道在JavaScript的安全性上,有一条很重要的安全限制,叫“同源策略”。就是一个脚本只能读取与它同源(如由同一个主机下载,通过同一个端口下载或者下载协议相同)的窗口或者文档的属性。
这种限制是很有必要的,如果没有这种限制,窗口中的不可靠脚本就可以用DOM方法读取浏览器窗口的内容,而窗口中可能会含有私有信息。
跨域的意思,顾名思义,跨是跨越,域就是别的服务器,跨域其实就是去别服务器上取东西。 只要协议、域名、端口有任何一个不同,都被当作是不同的域
然后问题来了,我这是本地测试啊,跨什么域?继续查资料。
查出来的结果是Chrome在读取本地相对路径脚本时,禁止向第三方请求数据。chrome的安全机制限制了本地文件的xhr请求。
好吧,于是我把整个项目放上github,github page上显示正常,我的问题倒是解决了。
关于Ajax跨域的问题,有兴趣的还可以看一下这份文档:How to run things locally
接下来我顺手测试了一下别的浏览器本地文件跨域,结果:
Firefox:没有任何安全提示与确认,跨域成功。
IE11:默认会提示加载不安全activex控件,要求确认,确认之后跨域是OK的。
:(
关于本地文件请求json文件的更多相关文章
- 直接请求json文件爬取天眼查企业信息(未解决验证码问题)——python3实现
几个月前...省略一堆剧情...直接请求json文件爬取企业信息未成功,在知乎提问后,得到解决,有大佬说带上全部headers和cookie是可以的,我就又去试了下,果然可以(之前自己试的时候不行,没 ...
- vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发
在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请 ...
- Extjs加载本地的一个json文件
<head> <title></title> <link href="../Styles/Extjs/resources/css/ext ...
- mongodb-导出数据到csv文件或json文件
在mongodb的bin目录下, 有一个mongoexport, 可用于数据的导出 [wenbronk@localhost bin]$ ./mongoexport --help Usage: mong ...
- 解析获得的网页数据(XML文件或JSON文件)
1.解析XML:使用Pull方式. 需要导入jar包:xmlpull-xpp3-1.1.4c.jar //Pull解析XML文件 private void parseXMLWithPull(Strin ...
- node读取文件转换json文件
{ ".323":"text/h323" , ".3gp":"video/3gpp" , ".aab" ...
- 推荐一个yaml文件转json文件的在线工具
YAML的全称是YAML Ain't Markup Language,是一种简洁的非标记语言,以数据为中心,使用空白,缩进,和分行组织数据,从而使得表示更加简洁易读. YAML如今广泛应用于微服务开发 ...
- 本地json文件的编辑器,node-webkit开发的exe程序
首发:个人博客,更新&纠错&回复 在昨天的dota契合度计算器中,用到了dota英雄数据和dota玩家数据这两个数据库,为了便于网页应用使用,这两个数据库的存储格式是json,即her ...
- jquery easyui读取json文件乱码
输出的json要求用utf-8,否则因json的编码格式有问题显示不了中文.记事本默认编码是ANSI,若保存的json是由记事本改后的缀名,则json格式有问题,显示中文为乱码. 解决方法:打开.js ...
随机推荐
- 关于MQ 消息队列的通俗理解和 rabbitMQ 使用
消息队列,一听很高大上,现在很多分布式系统都在用这个消息中间件 网上一搜, 说的都是些原理. 说下我的通俗理解, 你网上买了, 快递员给你投递, 会出现什么问题呢? 1 你不定时在家, 快递员 来了 ...
- HtmlHelper1
<div> @using(Html.BeginForm("Test","Default")) { 4 @Html.TextBox("nam ...
- kafka一些问题点的分析
kakfka架构图: 理解kafka需要理解三个问题. 1.producer,broker,consumer,ZK的工作模式. broker,ZK是作为一个后台服务,而producer和consume ...
- hive报错( Non-Partition column appears in the partition specification)
在写及测的过程中发现的,有一些可能需要进一步验证.有时候hive报错位置不一定正确需要多确认 1 FAILED: NullPointerException null 不能用视图作为left outer ...
- Django项目:CRM(客户关系管理系统)--57--47PerfectCRM实现CRM客户报名流程02
图片另存为 16*16 名字修改为 bpm_logo.jpg /*! *bootstrap.js * * Bootstrap v3.3.7 (http://getbootstrap.co ...
- 基于Skyline与ArcGIS Server的二三维联动功能实现
基于Skyline与ArcGIS Server的二三维联动功能实现主要利用WEB技术.ArcGIS for JavaScript.Skyline 二次开发以及ArcGIS 10.1 桌面工具. 利用A ...
- 【MFC 】关于对话框中的OnVScroll() 和 OnHScroll
原文地址:[MFC 中]关于对话框中的OnVScroll() 和 OnHScroll()函数作者:Winters 对话框中的滑块,微调控件都会向OnVScroll() 和OnHScroll() ...
- IO流 输入和输出文档内容
package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io. ...
- Java程序员面试题收集(6)
<!————————————————————————————基础题122道,代码题19道————————————————————————————> JAVA相关基础知识1.面向对象的特征有 ...
- 关于html 制作table的一个注意点
数据分析,一般都需要显示数据,就需要使用html做复杂的表格.复杂表格一般是对td的rowspan .colspan属性值. 在html中<td> 标签定义 HTML 表格中的标准单元格. ...