民俗常识 | 2024年05月11日 15:40:35 | 阅读:4896
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属于客户端语言,其接收的数据必须能返回到客户端,否则是接收不到任何数据的。
上一篇:炖蛋2只鸡蛋的水量应该是多少?
下一篇:blackboard是什么意思?
相关文章
网友点评
博博常识网
www.kissing2lips.com