标签:XML false 响应 xhr Ajax responseText 服务器 open
一、异步 - True 或 False?
AJAX 指的是异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
XMLHttpRequest 对象如果要用于 AJAX 的话,其 open() 方法的 async 参数必须设置为 true:
xhr.open("get","test1.php",true);
二、Async = true
当使用 async=true 时,请规定在响应处于 onreadystatechange 事件中的就绪状态时执行的函数:
xhr.open("get","test1.php",true);
xhr.send(null);
xhr.onreadystatechange = function(){ // 回调函数
if(xhr.readyState == 4){
if(xhr.status == 200){
var data = xhr.responseText; // 获取响应数据(以文本形式)
console.log(data);
}
}
}
三、Async = false
如需使用 async = false,请将 open() 方法中的第三个参数改为 false:
xhr.open("GET","test1.txt",false);
不推荐使用 async = false,但是对于一些小型的请求,也是可以的。
JavaScript 会等到服务器响应就绪才继续执行。如果服务器繁忙或缓慢,应用程序会挂起或停止。
注意:当您使用 async = false 时,请不要编写 onreadystatechange 函数,把代码放到 send() 语句后面即可:
xhr.open("GET","test1.txt",false);
xhr.send(null);
document.body.innerHTML=xhr.responseText;
四、服务器响应
如需获得来自服务器的响应,请使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。
属性 | 描述 |
---|---|
responseText | 获得字符串形式的响应数据。 |
responseXML | 获得 XML 形式的响应数据。 |
responseText 属性
如果来自服务器的响应并非 XML,请使用 responseText 属性。
responseText 属性返回字符串形式的响应,因此您可以这样使用:
document.body.innerHTML=xhr.responseText;
responseXML 属性
如果来自服务器的响应是 XML,而且需要作为 XML 对象进行解析,请使用 responseXML 属性。
标签:XML,false,响应,xhr,Ajax,responseText,服务器,open 来源: https://blog.csdn.net/qq_44034384/article/details/98060629
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。