关于ajax 的简单介绍

关于ajax 的简单介绍
1.XHR创建对象
XMLHttpRequest是AJAX的基础。
XMLHttpRequest对象
所有的现代浏览器都支持XMLHttpRequest对象。
XMLHttpRequest用于在后台与服务器交换数据,这意味着可以在不加载整个网页的情况下,对网页局部更新。
创建XMLHttpRequest对象
所有的浏览器(IE7+,firfox,chorome,safari)等内建XMLHttpRequest对象。
创建 XMLHttpRequest对象的语法:variable =new XMLHttpRequest();
老版 Internet explorer(ie5 和ie6)使用activeX对象:
variable =new activeXObject("Microsoft.XMLHTTP");

为了适应所有的现代浏览器,包括ie5和ie6,检查浏览器是否支持XMLHttpRequest对象,如果支持就创建
XMLHttpRequest对象 ,如果不支持就创建ActiveXObject

var xmlhttp:
if(Window.XMLHttpRequest){
xmlhttp+new XMLHttpRequest();
}
else{

xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
}
2.XHR请求
XMLHttpRequest 对象用于和服务器交换数据
向服务器发送请求
如果需要将请求发送到服务器,我们使用XMLHttpRequest对象的open()和send()方法;
xmlhttp.open("GET","TEST.TXT",TRUE);
XMLhTTP.send();

open(method,url,async),规定请求的类型,
url以及异步处理请求【method:请求类型,get
或post;url:文件在服务器上的位置;async:
true(异步)或false(同步)】

send(string) 将请求发送到服务器【string:仅用于post请求】

get还是post?
与post相比,get更简单也更快,并且打不风情况下都能用。
然而,在一下情况下,请使用post请求:
无法使用缓存文件(更新服务器上的文件或数据库)
向服务器发送大量数据(post 没有数量限制)
发送包含未知字符的用户输入时,post比get更稳定也更可靠

get 请求

xmlhttp.open("GET","DEMO_GET.ASP",TRUE);
xmlhttp.send();

在上面的例子中 可能得到的是缓存的结果,为了避免这种情况,请
向URL添加一个唯一的id
xmlhttp.open("GET","demo_get.asp?t="+Math.random(),true);
xmlhttp.send();

如果希望通过GET方法发送信息,请向url 添加信息
xmlhttp.open("GET","demo_get2.asp?fname=bill&lname=gates",true);
xmlhttp.send();

post 请求
简单post 请求
xmlhttp.open("post","demo_post.asp",true);
xmlhttp.send();

如果想要想html 表单那样post数据,请使用setRequestHeader()来添加
http 头,然后 在send()方法中规定发送的数据
xmlhttp.open("post","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content_type","application/x-www-form-urlencoded");
xmlhttp.send("fname=bill&lname=gates");

setRequestHeader(header,value)  向请求添加HTTP头 【header规定头的名称;value :规定头的值】


url 服务器上的文件
open() 方法的URL参数是服务器上文件的地址
xmlhttp.open("GET","ajax_test.asp",true);
该文件可以是任何类型的文件,比如.txt 和 .xml ,或者服务器脚本,比如.asp和.php(在传回
相应之前,能够在服务器上执行任务)。


异步 true 或 FALSE

AJAX 指的是异步javascript 和XML(Asynchronous javaScript and xml)
XMLHttpRequest 对象主要用于AJAX的话,其open() 方法的async参数必须
设置为true:
xmlhttp.open("GET","AJAX_TEST.ASP",TRUE);对于web 开发人员,发送异步
请求 是一个巨大的进步,很多在服务器执行的任务都相当费时。ajax 出现之前,
这可能会引起应用程序挂起或停止。
通过ajax ,javascript 无需等待服务器响应,而是:
在的呢古代服务器响应时执行其他脚本;当服务器就绪后对响应进行处理

猜你喜欢

转载自blog.csdn.net/zhangxuyan123/article/details/78115025
今日推荐