网站首页 >> 民俗常识 >> 正文
简介: 1、XMLHttpRequest(oXMLHttpRequest)对象属性2、onreadystatechange状态改变的事件触发器,只写;3、XMLHttpRequest.onreadystate

ajax的详细使用,Ajax引擎对象中的属性和方法

1、XMLHttpRequest(oXMLHttpRequest)对象属性

2、onreadystatechange状态改变的事件触发器,只写;

3、XMLHttpRequest.onreadystatechange=funcMyHandler;

4、readyState对象状态(integer),只读;

5、0=未初始化1=初始化2=已发送3=已接收部分数据4=完成

6、0(未初始化)对象已建立,但是尚未初始化---创建ajax对象(newXMLHttpRequest)

7、1(初始化)对象已初始化,尚未调用send *** ---初始化ajax对象(xmlHttp.open())

8、2(发送数据)send *** 已调用,但是当前的状态及http头未知----发送请求(xmlHttp.send())

9、3(数据传送中)已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,

10、4(完成)数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据

11、responseText服务器进程返回数据的文本版本,只读;(text/html)

12、strValue=XMLHttpRequest.responseText;(text/html)

13、strXML=XMLHttpRequest.responseXML;(text/xml)

14、status服务器返回的状态码,如:404="文件末找到"、200="成功"

15、500表示内部服务器错误,如php代码错误等

16、statusText服务器返回的状态文本信息,如:ok、notfound

17、strValue=XMLHttpRequest.statusText;

18、getAllResponseHeaders()作为字符串返回完整的headers

19、strValue=XMLHttpRequest.getAllResponseHeaders();

20、getResponseHeader()作为字符串返回单个的header标签

21、strValue=XMLHttpRequest.getResponseHeader();

22、如:XMLHttpRequest.getResponseHeader("Server")

23、open("method","URL"[,asyncFlag[,"userName"[,"password"]]])设置未决的请求的目标URL, *** ,和其他参数

24、method:http *** ,例如:POST、GET、PUT及PROPFIND。大小写不敏感。

25、URL:请求的URL地址,可以为绝对地址也可以为相对地址。

26、asyncFlag[可选]:布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。

27、异步:同一个时间点允许执行多个进程。(true)

28、同步:同一个时间点只允许执行一个进程。(false)

29、userName[可选]:如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。

30、password[可选]:验证信息中的密码部分,如果用户名为空,则此值将被忽略。

31、只有当ajax对象的send *** 被调用时,才会发送请求

32、使用get将数据传给服务器,则服务器就使用$_GET

33、就直接通过url将数据传给服务器,发送请求使用send(null)语句

34、使用POST时一定要使用xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

35、通常在数据不多的时候才有GET方式,而数据量稍大的时候采用POST方式

36、setRequestHeader("header","value")设置header并和请求一起发送

37、xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

38、<!DOCTYPEhtml>\n<html>\n<head>\n<title>XMLHttpRequest</title>\n<scriptlanguage="javascript">\nvarxmlHttp;\nfunctioncreateXMLHttpRequest(){\nif(window.ActiveXObject)\nxmlHttp=newActiveXObject("Microsoft.XMLHTTP");\nelseif(window.XMLHttpRequest)\nxmlHttp=newXMLHttpRequest();\n}\nfunctionstartRequest(){\ncreateXMLHttpRequest();\nvarsUrl="sync.php?"+newDate().getTime();//地址不断的变化,解决IE缓存问题\nxmlHttp.onreadystatechange=function(){\nif(xmlHttp.readyState==4&&xmlHttp.status==200)\nalert("服务器返回:"+xmlHttp.responseText);\n}\nxmlHttp.open("GET",sUrl,true);\nxmlHttp.send(null);\n}\n</script>\n</head>\n<body>\n<inputtype="button"value="测试异步通讯"onClick="startRequest()">\n</body>\n</html>

服务器端代码(文件名:sync.php)

39、<?php\nheader('Content-type:text/html;charset=utf-8');\necho"异步测试成功,很高兴";\n?>

服务器端在返回数据时可不可以使用return代替echo?

40、原因如下:虽然return与echo都有返回的含义,但是两者有很大的区别。return代表返回数据到服务器端,而echo语句代表返回数据到客户端。

41、又由于Ajax属于客户端语言,其接收的数据必须能返回到客户端,否则是接收不到任何数据的。

网友点评

博博常识网

博博常识网

www.kissing2lips.com

日常生活里,经常会碰到一些五花八门的小困难。不过好久好在有困难就有方法,如果你足够的细心,你会发现这些小困难都有着对应的小方法。

Powered By Z-BlogPHP Theme By . 鲁ICP备2021032584号-5