Ajax 基本使用的四大步骤,简单易懂

ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页。接下来通过本文给大家介绍Ajax的使用四大步骤,非常不错,感兴趣的朋友看下吧

什么是ajax?

ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页。

如何使用ajax?

第一步,创建xmlhttprequest对象,var xmlhttp =new XMLHttpRequest();XMLHttpRequest对象用来和服务器交换数据。


1

2

3

4

5

6

7

8

var xhttp;

if (window.XMLHttpRequest) {

//现代主流浏览器

xhttp = new XMLHttpRequest();

} else {

// 针对浏览器,比如IE5或IE6

xhttp = new ActiveXObject("Microsoft.XMLHTTP");

}

第二步,使用xmlhttprequest对象的open()和send()方法发送资源请求给服务器。

xmlhttp.open(method,url,async) method包括get 和post,url主要是文件或资源的路径,async参数为true(代表异步)或者false(代表同步)

xhttp.send();使用get方法发送请求到服务器。

xhttp.send(string);使用post方法发送请求到服务器。

post 发送请求什么时候能够使用呢?

(1)更新一个文件或者数据库的时候。

(2)发送大量数据到服务器,因为post请求没有字符限制。

(3)发送用户输入的加密数据。

get例子:


1

2

3

xhttp.open("GET", "ajax_info.txt", true);

xhttp.open("GET", "index.html", true);

xhttp.open("GET", "demo_get.asp?t=" + Math.random(), true);xhttp.send();

post例子


1

2

xhttp.open("POST", "demo_post.asp", true);

xhttp.send();

post表单数据需要使用xmlhttprequest对象的setRequestHeader方法增加一个HTTP头。

post表单例子


1

2

3

xhttp.open("POST", "ajax_test.aspx", true);

xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xhttp.send("fname=Henry&lname=Ford");

async=true 当服务器准备响应时将执行onreadystatechange函数。


1

2

3

4

5

6

7

xhttp.onreadystatechange = function() {

if (xhttp.readyState == 4 && xhttp.status == 200) {

document.getElementById("demo").innerHTML = xhttp.responseText;

}

};

xhttp.open("GET", "index.aspx", true);

xhttp.send();

asyn=false 则将不需要写onreadystatechange函数,直接在send后面写上执行代码。


1

2

3

xhttp.open("GET", "index.aspx", false);

xhttp.send();

document.getElementById("demo").innerHTML = xhttp.responseText;

第三步,使用xmlhttprequest对象的responseText或responseXML属性获得服务器的响应。

使用responseText属性得到服务器响应的字符串数据,使用responseXML属性得到服务器响应的XML数据。

例子如下:


1

document.getElementById("demo").innerHTML = xhttp.responseText;

服务器响应的XML数据需要使用XML对象进行转换。

例子:


1

2

3

4

5

6

7

xmlDoc = xhttp.responseXML;

txt = "";

x = xmlDoc.getElementsByTagName("ARTIST");

for (i = 0; i < x.length; i++) {

txt += x[i].childNodes[0].nodeValue + "<br>";

}

document.getElementById("demo").innerHTML = txt;

第四步,onreadystatechange函数,当发送请求到服务器,我们想要服务器响应执行一些功能就需要使用onreadystatechange函数,每次xmlhttprequest对象的readyState发生改变都会触发onreadystatechange函数。

onreadystatechange属性存储一个当readyState发生改变时自动被调用的函数。

readyState属性,XMLHttpRequest对象的状态,改变从0到4,0代表请求未被初始化,1代表服务器连接成功,2请求被服务器接收,3处理请求,4请求完成并且响应准备。
status属性,200表示成功响应,404表示页面不存在。

在onreadystatechange事件中,服务器响应准备的时候发生,当readyState==4和status==200的时候服务器响应准备。

例子:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

function loadDoc() {

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function() {

if (xhttp.readyState == 4 && xhttp.status == 200) {

document.getElementById("demo").innerHTML = xhttp.responseText;

}

};

xhttp.open("GET", "ajax_info.txt", true);

xhttp.send();

}

//函数作为参数调用

<!DOCTYPE html>

<html>

<body>

<p id="demo">Let AJAX change this text.</p>

<button type="button"

onclick="loadDoc(‘index.aspx‘, myFunction)">Change Content

</button>

<script>

function loadDoc(url, cfunc) {

var xhttp;

xhttp=new XMLHttpRequest();

xhttp.onreadystatechange = function() {

if (xhttp.readyState == 4 && xhttp.status == 200) {

cfunc(xhttp);

}

};

xhttp.open("GET", url, true);

xhttp.send();

}

function myFunction(xhttp) {

document.getElementById("demo").innerHTML = xhttp.responseText;

}

</script>

</body>

</html>

以上所述是Ajax的使用四大步骤

时间: 2024-10-09 22:00:12

Ajax 基本使用的四大步骤,简单易懂的相关文章

Ajax学习(二)—— 一个简单的Ajax实例

通过上篇博客认识Ajax之后,我们通过一个简单的实例来消化消化理论知识,一睹Ajax的庐山真面目. 1.实例功能: 当用户输入用户名,文本框失去焦点后,通过异步调用来判断该用户名是否已经存在.若存在,则在上图中红框处显示提示.当用户名可用时,提交按钮变为可用状态. 2.设计Html页面: <span style="font-family:SimSun;font-size:18px;"><strong><span style="font-famil

ios通知使用 书上案例 简单易懂

/* The notification name */const NSString *ResultOfAppendingTwoStringsNotification =@"ResultOfAppendingTwoStringsNotification"; /* Keys inside the dictionary that our notification sends */const NSString*ResultOfAppendingTwoStringsFirstStringInfo

Ajax与ashx异步请求的简单案例

Ajax与ashx异步请求的简单案例: 前台页面(aspx): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=

.net新手爬虫教学,简单易懂。

这两天没事研究爬虫,发现了好多处理方法,但是我用着最顺手的是Nsoup这个包. 下面给大家分享一下我在亚马逊上爬取的数据.我是用的webForm写的,用winForm是一样的.今天给打加分享一下我写的代码.希望得到打什么的指点. System.Net.CookieContainer testcookie = new System.Net.CookieContainer(); protected void Button1_Click(object sender, EventArgs e) { st

以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂

以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂,这是我个人觉得是一种比较简单易懂的json数据解析方法: 看下其中一个类的代码 package com.example.text_json_deno_model; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;

Ajax操作的四个步骤

Ajax操作的四个步骤: 创建Ajax对象 连接服务器 发送请求 接收返回信息 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title></title> 6 <script> 7 window.onload = function () { 8 var oBtn = document

java生成RSA公私钥字符串,简单易懂

java生成RSA公私钥字符串,简单易懂 解决方法: 1.下载bcprov-jdk16-140.jar包,参考:http://www.yayihouse.com/yayishuwu/chapter/1537 2.java代码 KeyPairGenerator keyPairGenerator = KeyPairGenerator .getInstance("RSA"); keyPairGenerator.initialize(2048); KeyPair keyPair = keyPa

1分钟学会百度网盘不限速教程,简单易懂

由于百度网盘的限速,下载个资料速度堪比蜗牛,不想冲会员,又想要高速下载百度网盘资源怎么办,今天给大家带来的1分钟学会百度网盘不限速教程,简单易懂,亲测有效. https://www.macdown.com 由网友"哩呵"制作的网盘助手脚本,需要通过拓展 Violentmonkey (暴力猴)或者 Tampermonkey (油猴)来启用,原理是通过显示直链,然后使用Neat Download Manager Mac来加速下载. 使用方法:(安装部分) 1.安装浏览器插件,Violent

前端跨域之Jsonp的原生请求和Jquery的ajax请求,简单易懂。

前言 :本文示例部署在XAMPP建站集成软件包上,在localhost环境下进行测试 1.什么是跨域 由于浏览器同源策略,凡是发送请求url的协议.域名.端口三者之间任意一与当前页面地址不同即为跨域.存在跨域的情况 : (1)网络协议不同,如http协议访问https协议. (2)端口不同,如8080端口访问3000端口. (3)域名不同,如aaaa.com访问bbbb.com. (4)子域名不同,如java.ddd.com访问qianduan.ddd.com. (5)域名和域名对应ip,如ww