ajax 异步的javascript和xml

是一种用于创建快速动态网页的技术。
它不是一种编程语言,而是一种规范。
Ajax的主要功能是:通过在后台与服务器进行少量数据交换。

也就是说,使用AJAX 可以使网页实现异步更新。举一个最常见的例子:

当您在谷歌的搜索框输入关键字时,JavaScript 会把这些字符发送到服务器,然后服务器会返回一个搜索建议的列表。

这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

XMLHttpRequest和web服务器进行数据的一步交换。运用javascri操作DOM(文档对象模型)来实现动态局部刷新页面。

var request ;
if(window.XMLHttpRequest)
{
request = new XMLHttpRequest();
}else{
request = new ActiveXObject(“Mircrosoft.XMLHttp”); //IE5,IE6
}

Ajax-Http请求
Http是计算机通过网络进行通信的规则,无状态协议(不建立持久链接)。
一个完整的Http请求过程分为七个步骤:
1. 建立TCP链接;
2.web浏览器向web服务器端发送请求命令;
3. web浏览器发送请求头信息;
4..web服务器应答;
5.web服务器发送应答头信息;
6. web服务器向浏览器发送数据;
7. web服务器关闭TCP链接;
一个HTTP一般由四部分组成:
1、请求的方法或动作
2、正在请求的URL(请求的地址)
3、请求头,包含一些客户端环境信息,身份验证信息等
4、请求体,请求正文,客户提交的查询字符串信息,表单信息等
get和post的区别:
get:一般用于信息获取,使用URL传递参数,不安全,对发送信息的数量有限制。
post:一般用于修改服务器上的资源,对发送信息的数量无限制。
一个HTTP相应一般有三部分组成
1、一个数字或者文字组成的状态 码,用来显示请求成功还是失败
2、响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型、和长度等;
3、响应体,也就是响应正文

XMLHttpRequest发送HTTP请求(向服务器发送请求)
open(method,url,async);最后一个参数拜师同步还是异步发送,ture为异步,false为同步;
用get发送数据,直接在地址栏做修改即可。

request.open(“GET”,”demo_get2.as?name=王二狗& sex=男”,true);
xmlhttp.send();

用post发送数据
request.open(“get”,”get.php”,true);
request.setRequestHeader(“Content-type”, “application/x-www-form-urlencoded”);
request.send(“name = &sex= 男”);

setRequestHeader(header,value):向请求添加 HTTP 头,其中header: 规定头的名称,value: 规定头的值。

如需获得来自服务器的响应,XMLHttpRequest 的以下方法可以取得服务器的响应
responseText:获得字符串形式的响应数据
responseXML:获得XML形式的响应数据
status和statusText:以数字和文本形式返回HTTP状态码;
getAllResponseHeader(): 获取所有的响应报头
getResponseHeader(): 查询响应中的某个字段的值

readyState:的值
0、open还没有调用
1、open已调用
2、已接收头
3、请求处理中
4、请求完成

if(request.ReadyState == 4 && request.status == 200)
{
//做一些事情
request.responseText;
}

下面常见的http(request.status)状态码:
100:这个状态码是告诉客户端应该继续发送请求,这个临时响应是用来通知客户端的,部分的请求服务器已经接受,但是客户端应继续发送求请求的剩余部分,如果请求已经完成,就忽略这个响应,而且服务器会在请求完成后向客户发送一个最终的结果

200:这个是最常见的http状态码,表示服务器已经成功接受请求,并将返回客户端所请求的最终结果

202:表示服务器已经接受了请求,但是还没有处理,而且这个请求最终会不会处理还不确定

204:服务器成功处理了请求,但没有返回任何实体内容 ,可能会返回新的头部元信息

301:客户端请求的网页已经永久移动到新的位置,当链接发生变化时,返回301代码告诉客户端链接的变化,客户端保存新的链接,并向新的链接发出请求,已返回请求结果

404:请求失败,客户端请求的资源没有找到或者是不存在

500:服务器遇到未知的错误,导致无法完成客户端当前的请求。

503:服务器由于临时的服务器过载或者是维护,无法解决当前的请求,以上http状态码是服务器经常返回的状态代码,用户只能通过浏览器的状态了解服务器是否正常运行,一般除了错误的状态码,都不会看到服务器的状态码的,

使用 Callback 函数
callback 函数是一种以参数形式传递给另一个函数的函数。
如果您的网站上存在多个 AJAX 任务,那么您应该为创建 XMLHttpRequest 对象编写一个标准的函数,并为每个 AJAX 任务调用该函数。

该函数调用应该包含 URL 以及发生 onreadystatechange 事件时执行的任务(每次调用可能不尽相同):
function myFunction()
{
loadXMLDoc(“ajax_info.txt”,function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
});
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值