Ajax的两种写法
先写一串数据
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的两种写法的更多相关文章
- Struts2实现ajax的两种方式
基于Struts2框架下实现Ajax有两种方式,第一种是原声的方式,另外一种是struts2自带的一个插件. js部分调用方式是一样的: JS代码: function testAjax() { var ...
- ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...
- EF架构~linq模拟left join的两种写法,性能差之千里!
回到目录 对于SQL左外连接我想没什么可说的,left join将左表数据都获出来,右表数据如果在左表中不存在,结果为NULL,而对于LINQ来说,要实现left join的效果,也是可以的,在进行j ...
- 运算符关键字。数据区别大小写。日期范围。判空的两种写法。NOT IN的两种写法。IN范围可含NULL,但NOT IN值范围不能含NULL。
比较:>,<,=,>=,<=,<>(!=) 逻辑:AND,OR,NOT 范围:BETWEEN...AND... 范围:IN,NOT IN 判空:IS NULL, I ...
- 快速排序partition过程常见的两种写法+快速排序非递归实现
这里不详细说明快速排序的原理,具体可参考here 快速排序主要是partition的过程,partition最常用有以下两种写法 第一种: int mypartition(vector<int& ...
- java 路径分隔符File.separator 以及 路径两种写法"/"和"\\"
一.File.separator File file=new File(); 这句是新建一个文件.file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单 ...
- iOS中表视图单元格事件用nib和storyboard的两种写法总结
从ios6开始,苹果公司推出了storyborad技术取代了nib的写法,这样代码量确实少写了很多,也比较简洁.但是,从学习的角度来说,阿堂认为 用nib的写法,虽然多了些代码,但是对于掌握知识和原理 ...
- 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 ...
- ThinkPHP中Widget的两种写法及调用
Widget扩展一般用于页面组件的扩展,在页面根据需要输出不同的内容,下面介绍一下ThinkPHP中Widget的两种写法及调用 写法一: ArticlWidget.class.php文件: clas ...
- es6对象内函数的两种写法
es6对象内函数一般有两种写法: var person1 = { name: "p1", sayThis() { console.log(this); } }; var perso ...
随机推荐
- 【杂项】瞎玩——suhr RIOT单块制作流程
难得的周末,在家上课似乎丝毫没有轻松多少,然而专业课任务的ddl远在天边,上午赶赶进度似乎稍微闲下来了点,正好前几天找电路的时候看到一个非常nice的效果器制作网站,国内少有深入研究效果器电路的文章, ...
- CSS的拾遗(1)
CSS的拾遗(1) 1.padding: (1)定义:在一个声明中设置所有内边距属性 (2)用法: 例子 1:上,右,下,左 padding:10px 5px 15px 20px; 上内边距是 10p ...
- 05 Java 数组
Java 数组 一.什么是数组 数组是相同类型数据的有序集合 数组描述的是相同类型的若干个数据,按照一定的顺序排列组合而成 其中每一个数据称为数组元素,每个数组元素可以通过下标来访问它们 二.数组的声 ...
- 2023 01 19 HW
2023 01 19 HW Okay, then let's start. Okay. Maybe Karina, we start with the C2 design freeze. Yeah, ...
- 云计算——实验3:AWS实验-EC2操作
本次实验属于验证型实验,通过本次实验学生将掌握以下内容: 1.EC2免费实例创建方法: 2.EC2实例SSH连接以及命令使用. 我使用阿里云进行注册和远程连接,aws需要使用信用卡,国内的比较省事. ...
- nginx日志按日期存储
http { include mime.types; default_type application/octet-stream; map $time_iso86 ...
- Linux Shell开发功能点
背景 需要操作一批次服务器安装Docker 功能特色 一键执行 bash <(curl -s -L http://server.com/installDocker.sh) MemberNode ...
- 下载base64图片
下载 this.downloadFile('二维码',that.img64) downloadFile(fileName, content) { let aLink = document.create ...
- js 动态给table添加、删除行。
1.添加table 行 function addtablTr() { var $table = $("#abc"); var vTr = '<tr><td> ...
- Oracle之关于sql_load导入数据
平时在工作当中经常需要统计数据,客户会提供文本或者列表,需要导入到数据库中进行数据统计碰撞等,这时候需要用到批量导入数据,之前用kettle或者plsqldeveloper的odbc导入工具,性能不行 ...