-
- 数据交互中常用的JQuery Ajax中的open()和send()方法
苏州网站建设 苏州网站设计 苏州网站制作 苏州做网站 - HtttpRequest对象是Ajax的核心,它有许多的属性、方法和事件以便于脚本处理和控制HTTP的请求与相应,苏州网站建设经常遇到前后端数据交互的问题,使用最多的是ajax方法,今天主要和大家一起来熟悉下ajax中open() 和send()方法。
Send()方法
调用opend()方法后,就可以通过调用send()方法按照open()方法设定的参数将请求进行发送。当open()方法中async参数为true时,在send()方法调用后立即返回,否则将会终端直到请求返回。需要注意的是,send()方法必须在readyState属性值为1时,即调用open()方法以后才可能调用。在调用send()方法以后到接受到响应信息之前,readyState属性的值将被设置为2;一旦接收到响应信息,readyState属性值将会被设为3;知道响应接收完成,readyState属性的值才会被设为4。
Send()方法使用一个可选的参数,该参数可以包含可变类型的数据。用户可以使用它并通过POST方法把数据发送到服务器。另外,可以显式地使用null参数调用send()方法,这与不同参数调用该方法一样。对于大多数其他的参数类型,再调用send()方法之前,应该使用setRequestHeader()方法先设置Content-Type头部。如果send(data)方法中的data参数的类型为DOMString,那么,数据将被编译为UTF-8。如果数据是Document类型,那么将使用由data.xmlEncoding指定的编码串行化该数据。setRequestHeader()方法是用来设置请求的头部信息。当readyState属性值为1时,可以再调用open()方法后调用这个方法;否则将得到一个异常。SetRequestHeader(header,value)方法包含两个参数:前一个是header键名称,后一个是键值。getRequestHeader()方法用于检索响应的头部值,仅当readState属性值是3或4(即在响应头部可用后)时,才可以调用这个方法;否从,该方法返回一个空字符串。此处还可以通过getAllRequestHeaders()方法获取所有的HttpRequest的头部信息。
Open()方法
XMLHttpRequets对象是通过调用open(method,uri,async,username,password)方法来进行初始化工作的。调用该方法得到一个可以用来进行发行(send()方法)的对象。Open()方法有5个参数。
(1)method参数是必须提供的,用于指定用来发送请求的HTTP方法(GET,POST,PUT,DELETE或HEAD)。按照HTTP规范,该参数要大写。
(2)uri参数用于指定XMLHttpRequest对象把请求发送到的服务器响应的URL,该地址会被自动解析位绝对地址。
(3)async参数用于指定是否请求是异步的,其默认值是TRUE。如果需要发送一个同步请求,需要把该参数设置为false。
(4)如果需要服务器验证访问用户的情况,那么可以设置username以及password这两个参数。
下面的例子演示从服务器请求book.xml,并显示其中的book字段。var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET","http://localhost/books.xml", false);
xmlhttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id=''bk101'']");
alert(book.xml);
- 上一篇: 关于jQuery插件的分类、基本要点和闭包
- 下一篇: 细数电脑上那些堪称黑科技的神器软件?
- 数据交互中常用的JQuery Ajax中的open()和send()方法