Ajax:
Asynchronous Javascript andXML(异步的Javascript和XML),是基于Javascript和Http请求的
@H_301_254@
@H_301_254@
1.readyState属性表示的是
HTTP请求的状态,当一个XMLHttpRequest对象被创建时,这个属性值从0开始,直到接受到完整的HTTP响应,这个值增加到4。
使用Ajax的例子:新浪微博,人人网,Google地图。
Ajax的基础是XMLHttpRequest,这个之前也讲过一些。。。
简单来说,就是
下面详细看看这三个步骤:
一、 XMLHttpRequest对象的创建:
在
IE中:
xmlhttp = newActiveXObject("Microsoft.XMLHTTP")
Firefox等其他浏览器中:
xmlhttp = newXMLHttpRequest()
二、 向服务器发送请求:
XMLHttpRequest对象有两个相关方法:
1. open()用于
初始化HTTP请求参数,但并不发送;
语法:
open(method,url,async,username,password)
下面来看看每个参数代表的含义:
1)method:取值可为
GET、
POST和
HEAD。这里重点讨论前两个。
在之前的一篇博文(
http://blog.sina.com.cn/s/blog_6ccd0a110101002h.html)中,提到关于HTML中
表单(form)标签的用法,当需要提交用户输入的时候,需要设置form标签中的action和method属性。其中
action属性的值指定了目标页面,而
method属性的值(GET或POST)则指定了发送信息的方式。
**************************************************************************************************
下面来看看这两种请求方式的区别:
在客户端:
- GET方式使用URL提交数据,就是说提交的数据会附加在目标URL后,以"?"与URL分开,字符数字原样发送,空格替换为"+",其余字符使用%XX替换(XX是该字符对应的ASCII码)。
- POST方式则是将请求的数据放置在HTTP HEADER中提交。
基于上述原因,
GET方式对于提交数据有1024字节的限制,而POST方式则没有(
因此上传文件只能使用POST方式);且
POST方式要比GET方式要安全,因为GET方式发送的数据是会显示在地址栏的。
更多GET和POST请求方式的区别,见
http://net138.blog.163.com/blog/static/28373415200922932453486/
**************************************************************************************************
2)url:指定了
请求的目标文件地址。
3)async:取值为true或者false。指定了请求模式是
同步(false)还是
异步(true)。
2. send()用于
发送HTTP请求。
使用open()方法中指定的参数,向服务器发送请求。
**************************************************************************************************