使用 XMLHttpRequest 获取网页,但只获取 html 的一部分
using XMLHttpRequest to get a web page but only get one part of the html
我使用下面的代码来获取网页(html)
var htmlString=null;
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.yahoo.com");//can change to any web address
xhr.onreadystatechange = function() {
htmlString=htmlString+xhr.responseText;
if(xhr.statusText=="200 OK'r" ){
log (global.htmlString.length);
}
}
但它总是得到页面的一部分,而不是整个HTML代码是否有任何参数来设置返回 html 代码的长度?
欢迎您的评论
将有多个readystatechange
事件。只有在xhr.readyState === XMLHttpRequest.DONE === 4
时,请求才会完全完成。
此外,htmlString = null; ...; htmlString=htmlString+xhr.responseText;
在很多方面都是假的。第一次它会做htmlString = null + "text" === "nulltext
.之后,它将一次又一次地添加.responseText
(到目前为止检索到的),同时通过状态。
另外,在相关说明中,您应该检查 xhr.status == 200
,而不是xhr.statusText == randomString
。在 200 的情况下,Web 服务器不一定发送"OK"。
阅读XMLHttpRequest
文档。
像这样的东西应该更好用:
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.yahoo.com");
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 /* DONE */) {
console.log(xhr.responseText.length);
// Do something with it...
}
}
xhr.send();
相关文章:
- 获取HTML属性中CSS声明的值
- 使用Java从javascript链接获取html更改
- 从模板标签获取html
- 无法获取@Html.ListBoxFor()的正确语法
- 获取html表单信息并使用ajax将其推送到PHP
- 获取HTML的第一句话
- PHP和JavaScript:在PHP中获取HTML值
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 如何获取html中输入框的值并对其进行操作
- Javascript从外部站点获取html
- 在不使用sort()的情况下获取HTML LI元素的副本
- 如何在单击行时获取html表中第一列的值
- 在Javascript服务器应用程序之后获取HTML
- 如何使用位置获取滚动功能获取 HTML 中的元素标签
- 如何使用 JQuery 从相对元素获取 html 文本
- 从 Rails dom_id 方法获取 HTML 类名
- TypeScript - 如何获取 HTML 元素,例如在 Javascript 中使用美元符号 ($)
- 为什么我的“for”循环只获取 html 中的最后一项
- objective-C 在 UIWebView 中的 ajax 调用后获取 HTML 值
- 从用户那里获取 HTML 输入