ajax:
Asynchronous JavaScript and XML,即异步的JavaScript和XML,是一种使用现有标准的新方法,是与服务器交换数据并更新部分网页的艺术,也就是在不加载整个页面的情况下,实现局部刷新。其中,JavaScript是属于网络的脚本语言,常被用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用,而XML是指可扩展的标记语言,常被用来设计传输和存储数据。
在实际开发中,可以用来做登陆校验,自动回填密码等操作。
Ajax对象:XMLHttpRequest
ajax的核心方法:open()和send()方法。其中,open(method,url,async)方法,可规定请求(method)的类型、URL(url)和是否异步处理请求(async)。
---method、url、async参数
method请求类型可以是GET或者POST,其中使用GET方法比较广泛,但是有几种必须使用POST方法,1、上传文件,其中上传文件,还得指明请求头的content-type为multipart/form-data(xmlHttp.setRequestHeader(“content-type”,”application/x-www-form-urlencoded”););2、向服务器发送大量数据(post方式是没有限制,URL对长度是有限制,不同浏览器最大长度都不一样);3、发送一些隐秘消息使用post可靠,因为post方式将数据放在header中,在地址栏上看不到参数,截获数据的成本较高;4、跨域的机制强制要求只能使用post。
URL就是文件在服务器上的位置。
async可选参数为true表示使用异步处理,false表示使用同步处理。
---ajax响应
两个重要属性:readyState和status
-readyState是XMLHttpRequest对象的一个属性,用来标识当前XMLHttpRequest对象处于什么状态,即状态值,这个属性是不可改变的,是无论访问是否成功都将响应的步骤:
- 0 :为初始化状态,此时已经创建了一个XMLHttpRequest对象;
- 1 :准备发送状态,此时已经调用了XMLHttpRequest对象的open方法,并且XMLHttpRequest对象已经准备将一个请求发送到服务器端;
- 2 :已经发送状态,此时已经通过send方法把一个请求发送到服务器端,但是还没有收到一个响应;
- 3 :正在接收状态,此时已经接收到Http响应头部信息,但是消息体部分还没有完全接收到;
- 4 :完成响应状态,此时已经完成了Http响应的接收。
-status是XMLHttpRequest对象的一个属性,表示响应的http状态码,是无论ajax访问是否成功,由Http协议根据所提交的信息,服务器所返回的http头信息代码:
几种常见的状态码:
- 200:访问成功且无错误
- 400:错误请求,如语法错误
- 404:没有发现文件、查询或URL
- 500:服务器不支持或拒绝请求头中指定的http版本
详见参考博客:http://www.cnblogs.com/chris-oil/p/3366641.html
JQuery实现ajax
1、$.get(URL,callback);
2、$.post(URL,data,callback);
- URL:规定您希望请求的URL
- data:规定连同请求发送的数据
- callback: 是请求成功后所执行的函数名
$.getJSON(url,[data],function(data,status,xhr))
- url:将请求发送到哪个url
- data:连同请求发送到服务器的数据
- function:请求成功时运行的函数
eval():将字符串转成JSON对象;
JSON.parse():将字符串转成JSON对象;
JSON.stringify():将JSON格式转成字符串;
append():将元素在页面中进行填充。