Ajax定义(引入)
“Asynchronous Javascript And XML”(异步JavaScript和XML),
并不是新的技术,只是把原有的技术,整合到一起而已
1.使用CSS和XHTML来表示。
2. 使用DOM模型来交互和动态显示。3.使用XMLHttpRequest来和服务器进行异步通信。
4.使用javascript来绑定和调用。
创建对象
function ?ajaxFunction(){ ??var xmlHttp; ??try{ // Firefox, Opera 8.0+, Safari ???????xmlHttp=new XMLHttpRequest(); ???} ???catch (e){ ??try{// Internet Explorer ????????xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); ?????} ???catch (e){ ?????try{ ????????xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); ?????} ?????catch (e){} ?????} ???}return xmlHttp; }
19
1
???function ajaxFunction(){
2
???????? var xmlHttp;
3
???????? try{ // Firefox, Opera 8.0+, Safari
4
???????? xmlHttp=new XMLHttpRequest();
5
???????? ?}
6
???????? catch (e){
7
???????????? try{// Internet Explorer
8
???????????? xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
9
???????????? ?}
10
???????????? catch (e){
11
???????????? try{
12
???????????? xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
13
???????????? ?}
14
???????????? catch (e){}
15
???????????? ?}
16
???????? ?}
17
???
18
???????????return xmlHttp;
19
????????}
get请求
function getFun() {
??????//创建对象
??????var request = ajaxFunction();
??????/*
??参数一: 请求类型 ?GET or ?POST
??参数二: 请求的路径
??参数三: 是否异步, true ?or false
*/
??????//发送请求
??????request.open("GET","http://localhost:8080/HttpServletRequestDemo1?username=mlj",true);
??????//获取响应的数据
??????request.onreadystatechange = function(){
??????????//前半段表示 已经能够正常处理。 ?再判断状态码是否是200
??????????if(request.readyState == 4 && request.status == 200){
??????????????//弹出响应的信息
??????????????alert(request.responseText);
??????????}
??????};
??????request.send();
??}
post请求
?function postFun() { ???????//创建对象 ?????var request = ??ajaxFunction(); ?????//发送数据 ???????request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true); ???????request.send(); ???} ???//带数据过去 ???function postFun() { ???????//创建对象 ???????var request = ??ajaxFunction(); ???????//发送数据 ???????request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true); ???????//如果使用的是post方式带数据,那么 这里要添加头, 说明提交的数据类型是一个经过url编码的form表单数据 ???????request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); ???????//带数据过去 ?, 在send方法里面写表单数据。 ???????request.send("username=aobama"); ???} ???//获取数据 ???function postFun() { ???????//创建对象 ???????var request = ??ajaxFunction(); ???????//发送数据 ???????request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true); ???????//想获取服务器传送过来的数据, 加一个状态的监听。 ???????request.onreadystatechange=function(){ ???????????if(request.readyState==4 && request.status == 200){ ???????????????alert("post:"+request.responseText); ???????????} ???????} ???????//如果使用的是post方式带数据,那么 这里要添加头, 说明提交的数据类型是一个经过url编码的form表单数据 ???????request.setRequestHeader("Content-type","application/x-www-form-urlencoded"); ???????//带数据过去 ?, 在send方法里面写表单数据。 ???????request.send("username=aobama"); ???}
38
1
function postFun() {
2
//创建对象
3
var request = ajaxFunction();
4
//发送数据
5
request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true);
6
request.send();
7
?}
8
//带数据过去
9
function postFun() {
10
//创建对象
11
var request = ajaxFunction();
12
//发送数据
13
request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true);
14
//如果使用的是post方式带数据,那么 这里要添加头, 说明提交的数据类型是一个经过url编码的form表单数据
15
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
16
17
//带数据过去 ?, 在send方法里面写表单数据。
18
request.send("username=aobama");
19
?}
20
//获取数据
21
function postFun() {
22
//创建对象
23
var request = ajaxFunction();
24
//发送数据
25
request.open("POST","http://localhost:8080/HttpServletRequestDemo1",true);
26
//想获取服务器传送过来的数据, 加一个状态的监听。
27
request.onreadystatechange=function(){
28
if(request.readyState==4 && request.status == 200){
29
30
alert("post:"+request.responseText);
31
?}
32
?}
33
//如果使用的是post方式带数据,那么 这里要添加头, 说明提交的数据类型是一个经过url编码的form表单数据
34
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");
35
36
//带数据过去 ?, 在send方法里面写表单数据。
37
request.send("username=aobama");
38
?}
onreadystatechange 事件
当请求被发送到服务器时,我们需要执行一些基于响应的任务。
每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
下面是 XMLHttpRequest 对象的三个重要的属性:
来源:http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechange.asp
0-4状态
属性 | 描述 |
---|---|
onreadystatechange | 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。 |
readyState | 存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。
|
status | 200: "OK" 404: 未找到页面 302重定向 500服务器内部错误或发出程序异常 |
get()
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body><div ></div><script src="../js/jquery-1.11.0.js"></script><script> ???$.get("/ServletTest?username=mljqqhq",{ name: "John", },function (data,status) { ???????$("#div1").html(data+status);//data是服务器响应的数据 ???????????})</script></body></html>
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<title>Title</title>
6
</head>
7
<body>
8
<div ></div>
9
<script src="../js/jquery-1.11.0.js"></script>
10
<script>
11
$.get("/ServletTest?username=mljqqhq",{ name: "John", },function (data,status) {
12
$("#div1").html(data+status);//data是服务器响应的数据
13
14
?})
15
</script>
16
17
</body>
18
</html>
post()
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Title</title></head><body><div ></div><script src="../js/jquery-1.11.0.js"></script><script> ???$.post("/ServletTest",{"username":"mljqqhpost"},function (data,status) { ???????$("#div1").html(data+status);//data是服务器响应的数据 ???????????})</script></body></html>
x
知识推荐
- Mac开启NTFS读写功能
- Excel转Json工具
- 初学node.js
- #WEB安全基础 : HTTP协议 | 0x9 GET和POST请求以及请求URI的方式
- Raphael.js--基础1
- webdriver高级应用 -更改一个对象界面的属性值
- JS原型和原型链
- jQuery weui Select组件显示指定值
- 通过ASP生成html纯静态页面的简单示例
- HTML的第一次尝试
- 无障碍网页应用技术了解
- vue---由nextTick原理引出的js执行机制
- [bzoj1014] [JSOI2008]火星人prefix
- json模块下abspath()查找文件绝对路径与join()路径嫁接获取相对路径的差别
- 关于php缓存技术一些见解
- webpack4.0 流程
- 记录php中一种骚操作
- HTML之文档结构
我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8
不良信息举报平台
互联网安全管理备案
Copyright 2023 www.wodecom.cn All Rights Reserved