Javascript 获取xhr响应并解析它
嗨,我做了一个如下的xmlHttpRequest:Javascript 获取xhr响应并解析它,javascript,xmlhttprequest,Javascript,Xmlhttprequest,嗨,我做了一个如下的xmlHttpRequest: var xhr = new XMLHttpRequest(); var params = 'gbook_text=' + encodeURIComponent('sdfsdf'); xhr.open("POST", '/gbook/save/7697256.html', true) xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') xhr.on
var xhr = new XMLHttpRequest();
var params = 'gbook_text=' + encodeURIComponent('sdfsdf');
xhr.open("POST", '/gbook/save/7697256.html', true)
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
console.log(xhr.responseText);
}
}
xhr.send(params);
我需要解析响应中的一些数据,这只是一个网页
我需要通过诸如getElementById()之类的dom方法来解析它。
我知道我可以写一些东西,比如:
xhr.responseXML.getElementById('author')
但它只有在服务器设置了头的情况下才能工作
内容类型:text/xml
否则responseXML为null
那么我有什么选择呢
附言:只有js没有任何库。
P.P.S:浏览器要求:chrome、ff、ie8+
编辑:好的选项,哪一个更好:
1) 将xhr.responsetext解析为字符串
2) 重定向到响应页面并对其进行解析。如何操作,顺便说一句?如果我理解您的问题,您只能以文本形式返回您的响应,但如果您想将其作为HTML文档进行搜索,您可以尝试创建一个div,并将HTML响应作为div的innerHTML
var res = document.createElement( 'div' );
res.innerHTML = xhr.responseText;
res.querySelector("#ElementID")
您是否尝试过设置
responseType
和/或使用overrideMimeType
方法
xhr.responseType = 'document';
xhr.overrideMimeType('text/xml');
您对浏览器支持的要求是什么?@Jon ie 8+,chrome,ff我如何在评论中使用@Jon回复您?不确定您的意思。。。你已经回复了,我收到了回复通知(两次)。@prefix对后者负责,尽管在某些情况下,系统足够聪明,可以自行通知。我是说,我只是认为你没有收到通知,因为它没有突出显示你的昵称。