Ajax(Asynchronous JavaScript and XML的缩写)允许浏览器与服务器异步通信技术,不用刷新页面可以与服务器通信的技术
在Ajax模型中,数据在客户端与服务器之间独立传输,服务器只返回页面需要的那一部分
XMLHttpRequest对象时JavaScript的一个扩展,可以是网页与服务器进行通信,是Ajax实现浏览器与服务器异步通信的常用对象
XML(eXtensible Markup Language,可扩展标记语言)Ajax程序在服务器与浏览器直接传递信息的一个格式化的格式。
XHTML(eXtended Hypertext Markup Language,使用扩展超媒体标记语言)
CSS(Cascading Style Sheet,级联样式单)
DOM(Document Object Model,文档对象模型)实现动态显示和交互
JavaScript绑定和处理所有数据
Ajax缺点:由JavaScript和Ajax引擎导致的浏览器的兼容性问题,页面局部刷新导致后退功能失效,对流媒体的支持没有flash、JavaApplet效果好,一些手持设备支持性差
XMLHttpRequest的常用方法:
abort()停止当前请求
getAllResponseHeaders()获取http请求的所有相应首部作为键值对返回
getResponseHeader(“属性名”)获取首部为指定属性名的值
open(“方法名”,”url名称”)建立对服务器的调用,方法名参数是GET、POST或PUT
send()向服务器请求
setRequestHeader(“首部属性名”,”属性值”)把指定首部设置为所提供的值,设置首部前需要建立对服务器的调用即open()
XMLHttpRequest的常用属性:
onreadystatechange状态改变会触发这个属性即事件处理器,通常调用一个JavaScript函数
readystate请求的状态,0未初始化,1正在加载,2已经加载,3交互中,4完成
responseText服务器相应,表示一个串
responseXML服务器相应,表示为XML
status服务器的HTTP状态码
statusText服务器HTTP状态吗相应的文本
JSON(JavaScript Object Notation),是JavaScript的原生格式,所有JavaScript中出来JSON数据不需要API或工具包。
JSON的规则是无序的键值对,格式为{"名称":值(JSON对象)[,"名称":值]}
JSON用冒号来赋值,每条赋值语句用逗号分开,对象需要用大括号封装,大括号可以嵌套
eavl(字符串)可以把字符串转为本地的JS代码执行
eval("("+JSON格式的字符串+")")可以将字符串转换为JSON对象
Ajax网络传输数据格式的选择:
当应用程序不需要与其他应用程序共享数据时常用HTML片段或者文本
当数据需要重复使用时常用JSON
当应用程序未知时常用XML,因为XML是web服务器国际通用标准语言
Ajax在jQuery中的使用方法:
$.jQuery对象.load(请求的地址url(地址后可以跟选择器), JSON对象数据(可选的,无/有参数GET/POST方式传递), 请求完成的回调函数callback(可选的,参数有返回请求内容date请求状态textStatus对象和XMLHttpRequest对象))向页面中加入HTML代码或者文本。
$.get(请求的地址url, JSON对象数据,回调函数,请求数据类型(可选))
$.post(请求的地址url, JSON对象数据,回调函数,请求数据类型(可选))
$.getJSON(请求的地址url, JSON对象数据,回调函数)