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 ...
随机推荐
- JavaScript 对象操作
Object.defineProperty(obj, prop, descriptor)方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象. const freezeO ...
- JavaScript基础知识整理(ES5创建对象)
创建对象 我们开始可以用Object构造函数或者对象字面量来快速创建对象,但使用这种方式创建多个对象时会产生大量重复代码,所以我们有了以下几种创建对象的方式. (1)工厂模式 function cre ...
- java的特性和版本
java的特性 简单性 面向对象性 可移植性(跨平台性) 高性能 安全性 健壮性 多线程 分布式 动态性 java的三个版本 javaSE(标准版),主要是桌面程序开发 javaME(微型版),主要是 ...
- 16.java八皇后问题
问题描述:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即: 任意两个皇后都不能处于同一行 .同一列或同一斜线上,问有多少种摆法(92). 思路分析:1) 第一个皇后先放第一行第一列2) ...
- ES实战-trying to create too many buckets
场景 es查询报错,报错如下: trying to create too many buckets. must be less than or equal to: [10000] but was [1 ...
- 2022NCTF
是真的菜 开始复现把 calc 访问之后获得源码 @app.route("/calc",methods=['GET']) def calc(): ip = request.remo ...
- java写 变量到文件
import java.io.BufferedReader; import java.io.File;import java.io.FileReader; import java.io.IOExcep ...
- 一加5T刷入魔趣
0.准备工作 1.安装adb工具 2.下载twrp 3.5t系统包. 1.解锁bootloader 先进入原版系统,打开开发者选项,允许USB调试,勾选允许OEM解锁,高级重启选项 打开命令行输入: ...
- JSP图书管理系统
allbook.jsp pageEncoding="UTF-8"%> <%@ page import = "java.util.*" %> & ...
- C语言学习记录(二)
C语言学习记录(二) 一.知识要点(C语言概述) 1.C语言的发展历史和特点 C语言的发展历史 C语言最早在B语言的基础上开发出来,并于1972年在一台计算机上首次实现. C语言最开始只是为描述和实现 ...