AJAX

6 篇文章 0 订阅
一. AJAX 注意事项
(1)XHR不会修改浏览器历史栈,即点击“后退”button没有用。
(2)地址栏没有变化
(3)不要过渡使用
(4)老板本流览器不支持(流览器需要支持XHR)
(5)关键是JS,CSS式样,一般与其他插件联合使用。自己写JS容易出问题

二. 外围技术
JS,HTML,DOM,CSS,JSON

三.XMLHttpRequest
IE : xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
FireFox : xmlHttp = new XMLHttpRequest();


四:功能
(1)局部刷新
(2)异步,也支持同步
open(method,URL,同步or异步,用户名,密码);
open方法多态,最多五个参数,即上,前两个参数为必入例项。
第三个参数:boolena, true:异步;false :同步 。 默认是同步。
测试代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple XMLHttpRequest</title>

<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
if (window.ActiveXObject) {
alert("active x");
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
alert("xml");
xmlHttp = new XMLHttpRequest();
}
}

function startRequest() {
createXMLHttpRequest();
xmlHttp.onreadystatechange = handleStateChange;
//alert("a");
xmlHttp.open("GET", "http://localhost:8080/ajax/a.htm", true,"admin","password");
//alert("b");
xmlHttp.send(null);
//alert("c");
}

function handleStateChange() {
//alert("1");
if(xmlHttp.readyState == 4) {
//alert("2");
if(xmlHttp.status == 200) {
// alert("3");
document.write(xmlHttp.responseText);
// document.write("<h1>"+xmlHttp.responseText+"</h1>");
// alert("The server replied with hehe : " + xmlHttp.responseText);
}
}
}
</script>


open 方法设置成true:
访问的URLhttp://localhost:8080/ajax/a.htm 在其servlet打上断点。
alert输出顺序:a, b ,c, 断点,反回结果后,接口回调。
异步效果,发送请求后,在没有返回结果前,会继续渲染页面,执行JS和CSS脚本。即执行alert("C");
open方法设置成:false:
访问的URLhttp://localhost:8080/ajax/a.htm 在其servlet打上断点。
alert输出顺序:a, b , 断点,c, 反回结果后,接口回调。
在没有返回结果前,不会再续渲染页面。

五, xmlHttp API

方法 描述
Abort() 停止当前请求
getResponseHeader(“header”) 返回指定首部的串值
Open(“method”,”url”) 建立对服务器的调用,method参数可以是GET,POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选参数。
Send(content) 向服务器发送请求
setRequestHeader(“header”,”value”) 把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()

标准XMLHttpRequest属性

Onreadystatechange
每个状态改变时,都会出发这个事件处理器。通常会调用一个JavaScript函数。
readyState
请求的状态。有5个可取值:0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成
responseText
服务器的响应,表示为一个串。
responseXML
服务器的响应,表示为XML,这个对象可以解析为一个DOM对象。
Status
服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等)
statusText
HTTP状态的相应文本(OK或者Not Found(未找到)等等)

六.get post发送区别
post比get多一行代码:
xmlHttp.setRequestHeqader("Content-Type","application/x-ww-form-urlencoded");

附件是Ajax in action 示例源代码。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值