龙空技术网

Ajax引擎对象中的属性和方法

寒笛过霜天 53

前言:

如今你们对“ajax返回的是什么对象”大体比较关注,小伙伴们都需要剖析一些“ajax返回的是什么对象”的相关内容。那么小编同时在网上网罗了一些有关“ajax返回的是什么对象””的相关知识,希望各位老铁们能喜欢,各位老铁们一起来学习一下吧!

XMLHttpRequest(oXMLHttpRequest) 对象属性

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

XMLHttpRequest.onreadystatechange = funcMyHandler;

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

XMLHttpRequest.readyState;

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

0 (未初始化) 对象已建立, 但是尚未初始化---创建ajax对象(new XMLHttpRequest)

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

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

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

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

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

strValue = XMLHttpRequest.responseText;(text/html)

strXML = XMLHttpRequest.responseXML;(text/xml)

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

XMLHttpRequest.status;

常用的值有:

200 表示请求成功

202 表示被接收

400 表示错误的请求

404 表示资源未找到

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

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

strValue = XMLHttpRequest.statusText;

Ajax引擎对象中的方法

abort() 停止当前请求

XMLHttpRequest.abort();

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

strValue = XMLHttpRequest.getAllResponseHeaders();

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

strValue = XMLHttpRequest.getResponseHeader();

如:XMLHttpRequest.getResponseHeader("Server")

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

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

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

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

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

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

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

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

send(content) 发送请求

只有当ajax对象的send方法被调用时,才会发送请求

注意:

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

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

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

发送请求使用send(url)语句;

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

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

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

完整实例:

<!DOCTYPE html><html><head><title>XMLHttpRequest</title><script language="javascript">var xmlHttp;function createXMLHttpRequest(){      if(window.ActiveXObject)      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");      else if(window.XMLHttpRequest)      xmlHttp = new XMLHttpRequest();}function startRequest(){      createXMLHttpRequest();      var sUrl = "sync.php?" + new Date().getTime(); //地址不断的变化,解决IE缓存问题      xmlHttp.onreadystatechange = function(){      if(xmlHttp.readyState == 4 && xmlHttp.status == 200)      alert("服务器返回: " + xmlHttp.responseText);      }      xmlHttp.open("GET",sUrl,true);      xmlHttp.send(null);}</script></head><body><input type="button" value="测试异步通讯" onClick="startRequest()"></body></html>

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

<?phpheader('Content-type: text/html;charset=utf-8');echo "异步测试成功,很高兴";?>

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

答:不可以

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

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

ajax

标签: #ajax返回的是什么对象 #ajax里面都有哪些值 #javaajax返回值类型 #ajax参数配置文件 #ajax获取属性