使用ajax请求数据时,可以先封装ajax

function querystring(obj) {var str = "";for (var arr in obj) {str += arr + "=" + obj[arr] + "&";}return str.substring(0, str.length - 1);
}function $ajax({method = "get",url,data,success,error,
}) {var xhr = null;try {xhr = new XMLHttpRequest();} catch (error) {xhr = new ActiveXObject('Microsoft.XMLHTTP');}if (method == "get" && data != null) {url += "?" + querystring(data);}xhr.open(method, url, true);if (method == "get") {xhr.send();} else {xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");xhr.send(querystring(data));}xhr.onreadystatechange = function () {if (xhr.readyState == 4) {if (xhr.status == 200) {if (success) {success(xhr.responseText);}} else {if (error) {error("error" + xhr.status);}}}}
}

请求的数据book.json

{"data":[{"name":"first","desc":"1111111111111111"},{"name":"second","desc":"222222222222222"},{"name":"third","desc":"333333333333333"}]
}

两种方法将获取的数据显示在ul中
两种方式选取一种,另一种运行时删除

<body><button id="xiazai">下载数据</button><ul id="liebiao"><!-- <li><h1>标题:</h1><p>简介:</p></li> --></ul><script src="ajax.js"></script><script>window.onload = function() {var button = document.getElementById("xiazai");var ul = document.getElementById("liebiao");/* 第一种方式 */button.onclick = function() {$ajax({method: "get",url: "data/book.json",success: function(res) {var str = ``;var obj = JSON.parse(res);var arr = obj.data;for(var i = 0;i < arr.length;i ++) {var lobj = arr[i];str += `<li><h1>标题:${lobj.name}</h1><p>简介:${lobj.desc}</p></li>`;}ul.innerHTML = str; },error: function(mes) {alert(error);}})}/* 第二种方式 */button.onclick = function() {ul.innerHTML = "";$ajax({method: "get",url: "data/book.json",success: function(res) {var obj = JSON.parse(res);var arr = obj.data;for(var i = 0;i < arr.length;i ++) {var h1 = document.createElement("h1");var p = document.createElement("p");var li = document.createElement("li");h1.innerHTML = arr[i].name;p.innerHTML = arr[i].desc;li.appendChild(h1);li.appendChild(p);ul.appendChild(li);}},error: function(error) {alert(error)}})}/* 第二种结束 */}</script>
</body>

ajax获取json数据示例相关推荐

  1. Ajax 获取 JSON数据

    文章目录 Ajax获取JSON数据 Ajax获取JSON数据 Ajax 全称"Asynchronous JavaScript and XML",译为"异步 JavaScr ...

  2. AngularJS学习笔记(3)——通过Ajax获取JSON数据

    通过Ajax获取JSON数据 以我之前写的与用户交互的动态清单列表为例,使用JSON前todo.html代码如下: <!DOCTYPE html> <html ng-app=&quo ...

  3. jQuery AJAX获取JSON数据解析多种方式示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. ajax获取json数据为undefined--原因解析

    解决办法:var dataObj=eval("("+data+")");//转换为json对象 问题: 1. 碰到一个问题ajax成功获取json数据后,取值显 ...

  5. ajax获取json里的list,ajax获取json数据然后将其装载到jqgrid实现

    1. 通过ajax同步获取json数据 2. 本地装载jqgrid数据 $("#grid").jqGrid({ datatype: "local", data ...

  6. vue接收json数据_Vue之使用ajax获取json数据,并用v-for循环显示在表格中

    运行的时候,出现了php跨域问题,解决办法是在php的头文件中添加了如下代码: header('Content-Type: application/json'); header('Content-Ty ...

  7. java跨域解析json数据_java后台设计简单的json数据接口,设置可跨域访问,前端ajax获取json数据...

    在开发的过程中,有时候我们需要设计一个数据接口.有时候呢,数据接口和Web服务器又不在一起,所以就有跨域访问的问题. 第一步:简单的设计一个数据接口. 数据接口,听起来高大上,其实呢就是一个简单的Se ...

  8. jsTree ajax 获取json数据加载树

    后台获取json格式数据. 直接上代码. 最后有一张官方ajax获取tree的说明. var ajaxTreeSample = function() {$("#tree_4").j ...

  9. ajax获取json数据解析为undefined

    解决办法1.使用eval()函数,把获取的数据转换为json对象. var dataObj=eval("("+data+")");//转换为json对象 然后在 ...

最新文章

  1. [TYVJ] P1016 装箱问题
  2. 什么是进程什么是线程,他们的区别是什么
  3. db2 某个字段排序_sql字段排序 rank over
  4. 微信开发系列之一 - 微信公众号开发的开发环境搭建
  5. html+css+js+jquery之常见的的本地存储实现一个简单的todoList项目
  6. macos系统自动安装mysql_macos系统安装mysql
  7. unity打包android 乱码,Unity3d发布IOS9应用时出现中文乱码的解决方法
  8. 越狱Season 1-Episode 15: By the Skin and the Teeth
  9. Oracle -- rollup函数
  10. oninput onpropertychange
  11. 禁用EnableViewState和启用EnableViewStat时请注意
  12. STM32内部Flash使用磨损均衡算法(Erase Leveling)
  13. java fillrect_Java编写一个Applent程序,使用fillRect方法输出不同的颜色
  14. 数字战疫|央视聚焦闵行,有信云助力上海数千家企业复工复产
  15. cocoa 自动键值观察(KVO)--笔录
  16. 【转】成像的清晰度、分辨率和锐度
  17. 云脉文档管理小程序使办公更协同
  18. 玩转肺癌目标检测数据集Lung-PET-CT-Dx ——④转换成PASCAL VOC格式数据集
  19. Python3.4如何读写Excel
  20. python基础教程 学习前的准备

热门文章

  1. 克隆JSONObject
  2. 吞噬颜色html5游戏在线玩,《堡垒之夜》被黑洞吞噬,或将迎来大型更新
  3. 【java】时间格式相关
  4. 腾讯AI Lab全年成绩单:让AI能救命也能种地
  5. 2021年全国大学生电子设计竞赛——信号失真度测量装置(A题)——设计过程分享(3)
  6. 5个高清/4K视频素材网站,免费下载。
  7. 小程序源码:人生重开模拟器
  8. Ajax跨域和JSONP
  9. css指针光标样式小手图标
  10. php 催单功能,微商的催单技巧,成交100%