全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

解决ajax不能访问本地文件问题(利用js跨域原理)

博主自己在开发一个无后台,只有前台的查询系统时,遇到一个困难,如何利用Ajax读取自己的本地json文件,百度、谷歌了下,发现大部分文章都是在说修改浏览器参数,但是自己想想,用户在使用时,还要修改浏览器的参数,这样显然降低了用户体验。自己琢磨了一段时间,发现可以利用js跨域原理来解决这个瓶颈。将之前要读取的json文件,变为js对象文件,这样就可以读取这个文件,然后写一个函数来对这个js对象进行解析。

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

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

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

定义的function fun可以看作是请求成功后回调函数

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

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

jsonp需要满足3个条件:

1、通过script的src请求资源

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

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

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

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

贴入上面的test.html代码

<script type="text/javascript" src="js/jquery-easyui-1.3.2/jquery-1.8.0.min.js"></script> 
<script> 
  function fun(data){ 
 
 
      //var dataj=JSON.parse(data.pro); //可以将json字符串转换成json对象  
       alert(data.pro); 
      var obj = eval(data.pro);  
      //alert(obj.name); 
      //$.each(obj,function(index,position){ 
        //alert(+position['name']); 
            //html+="<option value='"+position['name']+"'>"+position["name"]+"</option>"; 
      //}); 
      for(var i=0;i<obj.length;i++){ 
         alert(obj[i].name); 
      } 
      alert(1); 
 
    } 
</script> 

/*下面的代码,是之前利用ajax来读取本地json文件的代码,是不能实现的,运行时,可以不贴入下面的代码*/ 
<script type="text/javascript" src="json/abc.json"></script> 
<script> 
  $(function(){ 
    alert($); 
    /*$.ajax({ 
     type: "GET", 
     url: "json/positionMenu.json", 
     dataType: "json", 
     success:function(data){ 
         alert(data); 
      } 
    });*/ 
 
  }) 
</script> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ajax本地跨域请求  # ajax跨域访问解决方案  # ajax  # 跨域访问  # 用jQuery与JSONP轻松解决跨域访问的问题  # 使用jsonp完美解决跨域问题  # js前端解决跨域问题的8种方案(最新最全)  # 5种处理js跨域问题方法汇总  # NODE.JS跨域问题的完美解决方案  # 详解VueJs前后端分离跨域问题  # javascript跨域方法、原理以及出现问题解决方法(详解)  # AngularJs解决跨域问题案例详解(简单方法)  # js跨域问题浅析及解决方法优缺点对比  # JavaScript中跨域问题的深入理解  # 回调  # 自己的  # 是一个  # 一个函数  # 是在  # 如果说  # 查询系统  # 转换成  # 可以利用  # 大家多多  # 就可以  # 情况下  # 降低了  # 是用来  # function  # 不贴入  # fun  # src  # ps 


相关文章: 电商网站制作价格怎么算,网上拍卖流程以及规则?  香港服务器租用费用高吗?如何避免常见误区?  如何在阿里云域名上完成建站全流程?  如何在局域网内绑定自建网站域名?  高性价比服务器租赁——企业级配置与24小时运维服务  如何快速打造个性化非模板自助建站?  如何快速搭建二级域名独立网站?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  如何选择适合PHP云建站的开源框架?  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  子杰智能建站系统|零代码开发与AI生成SEO优化指南  C#如何在一个XML文件中查找并替换文本内容  如何基于云服务器快速搭建网站及云盘系统?  jQuery 常见小例汇总  建站之星如何修改网站生成路径?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  建站主机功能解析:服务器选择与快速搭建指南  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  香港服务器租用每月最低只需15元?  ,石家庄四十八中学官网?  名字制作网站免费,所有小说网站的名字?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  做企业网站制作流程,企业网站制作基本流程有哪些?  如何通过商城免费建站系统源码自定义网站主题?  常州自助建站费用包含哪些项目?  建站主机是什么?如何选择适合的建站主机?  香港服务器WordPress建站指南:SEO优化与高效部署策略  独立制作一个网站多少钱,建立网站需要花多少钱?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站主机核心功能解析:服务器选择与网站搭建流程指南  网站制作的步骤包括,正确网址格式怎么写?  香港服务器部署网站为何提示未备案?  seo网站制作优化,网站SEO优化步骤有哪些?  制作网站公司那家好,网络公司是做什么的?  ,柠檬视频怎样兑换vip?  手机网站制作与建设方案,手机网站如何建设?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  PHP 500报错的快速解决方法  想学网站制作怎么学,建立一个网站要花费多少?  C#怎么创建控制台应用 C# Console App项目创建方法  如何在IIS中新建站点并配置端口与物理路径?  如何在服务器上配置二级域名建站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  如何在服务器上三步完成建站并提升流量?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  网站制作报价单模板图片,小松挖机官方网站报价?  韩国服务器如何优化跨境访问实现高效连接?  如何自定义建站之星模板颜色并下载新样式? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。