使用ajax无法访问本地文件如何解决

  介绍

这篇文章给大家介绍使用ajax无法访问本地文件如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

首先说明下js跨域原理和jsonp这个技术(如果说的不详细,可自行百度,谷歌)

src可以跨域请求,但是这个资源不能作为js解析,资源不是js,所以解析json的时候会出错

中间是一个对象,调用有趣的把这个对象传入进的去,

定义的功能有趣可以看作是请求成功后回调函数

jsonp本质:是通过脚本标签跨域,来突破跨域限制请求;返回的数据中用一个函数来包装起来

jsonp是用来解决js跨域请求数据的问题,原理:是通过脚本标签可以跨域请求资源的原理间接的请求数据。

<强> jsonp需要满足3个条件:

1,通过脚本的src请求资源

2,请求的资源中用回调函数的将数据进行包裹

3,调用方要定义回调函数

下面贴入演示来演示ajax读取本地文件,ps:在没有服务器的情况下

使用ajax无法访问本地文件如何解决

下面是上面html页面打开效果图(为了说明成功读取本地文件)

使用ajax无法访问本地文件如何解决

贴入上面的测试。html代码

& lt; script 类型=拔谋?javascript" https://www.yisu.com/zixun/, src=" js/jquery-easyui-1.3.2/jquery-1.8.0.min.js ">   <脚本>   函数的乐趣(数据){//var dataj=JSON.parse (data.pro);//可以将json字符串转换成json对象   警报(data.pro);   var obj=eval (data.pro);//警报(obj.name);//每美元(obj,函数(指数、位置){//警报(+位置['名字']);//html +=" <选项值=啊?位置(“名字”)+“”>“+位置(“名字”)+“>
/*下面的代码,是之前利用ajax来读取本地json文件的代码,是不能实现的,运行时,可以不贴入下面的代码*/,
  & lt; script 类型=拔谋?javascript" https://www.yisu.com/zixun/, src=" json/abc.json "> 
  <脚本>
  $(函数(){
  警报(美元);/* . ajax({美元
  类型:“获得”,
  url:“json/positionMenu.json”,
  数据类型:“json”,
  成功:功能(数据){
  警报(数据);
  }
  });*/})
   

关于使用ajax无法访问本地文件如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

使用ajax无法访问本地文件如何解决