JS -- Ajax原理

Ajax:JavaScript and XML,异步JavaScript与XML

在不刷新页面的情况下,更新部分页面内容

为什么请求需要异步:

同步请求,是当使用send()发生请求时,会阻止用户动作,并等待响应;而异步请求,不打扰用户动作

Ajax通信流:

(1)用户活动和时间触发器

(2)客户端发送XHR、iFrame、脚本、图像等给服务器端

(3)服务器端接收请求,做处理,生成XML、JSON等格式的响应

(4)客户端接收响应,使用JavaScript和DOM功能更新部分页面

XMLHttpRequest对象

JavaScript提供了XMLHttpRequest对象,它包括了获取和设置HTTP头的能力,读取和响应代码的能力,处理服务器产生的不同类型的内容的能力

常用属性
属性描述
readState指示请求状态
status从服务器返回回来的HTTP响应状态码
statusText从服务器返回回来的HTTP响应状态短语
response容纳来自服务器的响应
responseText来自服务器的作为字符串的全部响应
responseType指示响应的字符串的类型
responseXML服务器的响应将作为XML文档进行解析的Document对象
readyState属性
readyState的值常量值描述
0unsend已经实例化,但还没有open()
1opened已经调用open(),但还没有send()
2header_receive调用send(),正在接收头
3loading正在接收数据
4done所有数据已完成接收,可以查看数据
常用方法
方法描述
open(method,url [,asynchronous [,user,password] ])准备发送请求
setRequestHeader(name,value)添加HTTP头
getResponseHeader(headerName)指定获取响应的HTTP头
getAllResponseHeaders()获取响应的所有HTTP头
send(body)向服务器端发送请求
timeout指定超时时间,超时则中止请求
常用事件处理
事件处理程序描述
onreadystatechangereadyState的值发生变化时触发
onload整个文档成功完成加载时触发
onloadstart请求开始时触发
onloadend请求完成后触发,不管是否成功
ontimeout当在达到timeout指定的值之前,有某些情况阻止完成请求时引发
onerror网络错误时触发
onabort请求中止时触发
跨浏览器的XHR包装
var xhr = (window.XMLHttpRequest) 
          ? new XMLHttpRequest()
          : new ActiveXObject("Microsoft.XMLHTTP");
JSON ( JavaScript对象表示法 )

JSON格式中可以使用的值是字符串、数字、对象、数组、true、boolean值、null

JSON.stringify()

将传递进去的对象转化为字符串

JSON.parse()

将传递进去的字符串转化为对象

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值