先写一串数据
1 {
2 "status": 200,
3 "data": {
4 "name": "web211001",
5 "student": [
6 {
7 "id": 10001,
8 "name": "张三"
9 },
10 {
11 "id": 10001,
12 "name": "李四"
13 },
14 {
15 "id": 10001,
16 "name": "王五"
17 }
18 ]
19 },
20 "msg": "错误信息"
21 }

用原生的Ajax输出数据:

 1 <!DOCTYPE html>
2 <html lang="en">
3
4 <head>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <title>Document</title>
8 <script>
9 //创建步骤
10 window.onload = function () {
11 // 1) 创建 XMLHttpRequest 对象, 也就是创建一个异步调用对象
12 var request = new XMLHttpRequest();
13 // 2) 创建一个新的 HTTP 请求, 并指定该 HTTP 请求的方法、URL 及验证信息
14 request.open("get", "./data.json");
15 // 3) 设置响应 HTTP 请求状态变化的函数
16 request.onreadystatechange = function () {
17 if (request.status === 200 && request.readyState === 4) {
18 //console.log(request.responseText)//获取纯文本
19 // console.log(request.responseXML)
20 // 5) 获取异步调用返回的数据
21 var data =JSON.parse(request.responseText);
22 // console.log(data);
23 // 6) 使用 JavaScript 和 DOM 实现局部刷新
24 if (data.status===200) {
25 var cls =data.data;
26 document.querySelector("h1").innerText=cls.name;
27 }else{
28 console.log(data.msg);
29
30 }
31 }
32 }
33 request.send();
34 // 4) 发送 HTTP 请求
35 }
36 </script>
37 </head>
38
39 <body>
40 <h1></h1>
41 </body>
42
43 </html>

然后用jQuery请求:

 1 <!DOCTYPE html>
2 <html lang="en">
3
4 <head>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <title>Document</title>
8 <script src="./js/jquery-3.3.1.min.js"></script>
9 <script>
10 $(function () {
11 // $.ajax({
12 // method: "get",
13 // url: "./data.json",
14 // // data: { id: 10001 },//请求参数
15 // // data:"id=10001&name=zhangsan",application/x-www-form-urlencoded
16 // contentType: "json",//请求格式 参数的格式
17 // //dataType: "text",//返回数据格式
18 // success: function (data) {
19 // console.log(data);
20 // if (data.status === 200) {
21 // var cls = data.data;
22 // $("legend").text(cls.name);
23 // var students = cls.student;
24 // for (let index = 0; index < students.length; index++) {
25 // const stu = students[index];
26 // $(".data tbody").append("<tr><td>" + stu.id + "</td><td>" + stu.name + "</td></tr>");
27 // }
28 // } else {
29 // console.log(data.msg);
30 // }
31 // },
32 // error: function (res) {
33 // console.log(res);
34
35 // }
36 // }),
37 $.get("./data.json",function(data){
38 if (data.status === 200) {
39 var cls = data.data;
40 $("legend").text(cls.name);
41 var students = cls.student;
42 for (let index = 0; index < students.length; index++) {
43 const stu = students[index];
44 $(".data tbody").append("<tr><td>" + stu.id + "</td><td>" + stu.name + "</td></tr>");
45 }
46 } else {
47 console.log(data.msg);
48 }
49 })
50 })
51 //.$post();
52 </script>
53 </head>
54
55 <body>
56 <legend></legend>
57 <table class="data">
58 <thead>
59 <th>id</th>
60 <th>name</th>
61 </thead>
62 <tbody>
63
64 </tbody>
65 </table>
66 </body>
67
68 </html>

Ajax的两种写法的更多相关文章

  1. Struts2实现ajax的两种方式

    基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...

  2. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  3. EF架构~linq模拟left join的两种写法,性能差之千里!

    回到目录 对于SQL左外连接我想没什么可说的,left join将左表数据都获出来,右表数据如果在左表中不存在,结果为NULL,而对于LINQ来说,要实现left join的效果,也是可以的,在进行j ...

  4. 运算符关键字。数据区别大小写。日期范围。判空的两种写法。NOT IN的两种写法。IN范围可含NULL,但NOT IN值范围不能含NULL。

    比较:>,<,=,>=,<=,<>(!=) 逻辑:AND,OR,NOT 范围:BETWEEN...AND... 范围:IN,NOT IN 判空:IS NULL, I ...

  5. 快速排序partition过程常见的两种写法+快速排序非递归实现

    这里不详细说明快速排序的原理,具体可参考here 快速排序主要是partition的过程,partition最常用有以下两种写法 第一种: int mypartition(vector<int& ...

  6. java 路径分隔符File.separator 以及 路径两种写法"/"和"\\"

    一.File.separator File file=new File(); 这句是新建一个文件.file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单 ...

  7. iOS中表视图单元格事件用nib和storyboard的两种写法总结

    从ios6开始,苹果公司推出了storyborad技术取代了nib的写法,这样代码量确实少写了很多,也比较简洁.但是,从学习的角度来说,阿堂认为 用nib的写法,虽然多了些代码,但是对于掌握知识和原理 ...

  8. linq和ef关于group by取最大值的两种写法

    LINQ: var temp = from p in db.jj_Credentials group p by p.ProfessionID into g select new { g.Key, Ma ...

  9. ThinkPHP中Widget的两种写法及调用

    Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用 写法一: ArticlWidget.class.php文件: clas ...

  10. es6对象内函数的两种写法

    es6对象内函数一般有两种写法: var person1 = { name: "p1", sayThis() { console.log(this); } }; var perso ...

随机推荐

  1. 【杂项】瞎玩——suhr RIOT单块制作流程

    难得的周末,在家上课似乎丝毫没有轻松多少,然而专业课任务的ddl远在天边,上午赶赶进度似乎稍微闲下来了点,正好前几天找电路的时候看到一个非常nice的效果器制作网站,国内少有深入研究效果器电路的文章, ...

  2. CSS的拾遗(1)

    CSS的拾遗(1) 1.padding: (1)定义:在一个声明中设置所有内边距属性 (2)用法: 例子 1:上,右,下,左 padding:10px 5px 15px 20px; 上内边距是 10p ...

  3. 05 Java 数组

    Java 数组 一.什么是数组 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的顺序排列组合而成 其中每一个数据称为数组元素,每个数组元素可以通过下标来访问它们 二.数组的声 ...

  4. 2023 01 19 HW

    2023 01 19 HW Okay, then let's start.  Okay. Maybe Karina, we start with the C2 design freeze. Yeah, ...

  5. 云计算——实验3:AWS实验-EC2操作

    本次实验属于验证型实验,通过本次实验学生将掌握以下内容: 1.EC2免费实例创建方法: 2.EC2实例SSH连接以及命令使用. 我使用阿里云进行注册和远程连接,aws需要使用信用卡,国内的比较省事. ...

  6. nginx日志按日期存储

    http {     include       mime.types;     default_type  application/octet-stream;     map $time_iso86 ...

  7. Linux Shell开发功能点

    背景 需要操作一批次服务器安装Docker 功能特色 一键执行 bash <(curl -s -L http://server.com/installDocker.sh) MemberNode ...

  8. 下载base64图片

    下载 this.downloadFile('二维码',that.img64) downloadFile(fileName, content) { let aLink = document.create ...

  9. js 动态给table添加、删除行。

    1.添加table 行 function addtablTr() { var $table = $("#abc"); var vTr = '<tr><td> ...

  10. Oracle之关于sql_load导入数据

    平时在工作当中经常需要统计数据,客户会提供文本或者列表,需要导入到数据库中进行数据统计碰撞等,这时候需要用到批量导入数据,之前用kettle或者plsqldeveloper的odbc导入工具,性能不行 ...