Ajax-在html页面中显示xml消息
发送消息时,xml将显示在调试器中。但我不知道如何在html网页中显示它。我没有使用jqueryAjax-在html页面中显示xml消息,ajax,xml,Ajax,Xml,发送消息时,xml将显示在调试器中。但我不知道如何在html网页中显示它。我没有使用jquery if(xhr) { xhr.onreadystatechange = function() { if(xhr.readyState === 4) { if(xhr.status === 200) { var value = xhr.responseXML; var msgs = v
if(xhr) {
xhr.onreadystatechange = function() {
if(xhr.readyState === 4) {
if(xhr.status === 200) {
var value = xhr.responseXML;
var msgs = value.getElementsByTagName('message');
console.log("Processing ", msgs.length, " messages");
for(var i = 0; i < msgs.length; i++) {
var id = parseInt(msgs[i].getAttribute("id"));
if(lastid < id) {
lastid = id;
}
console.log(msgs[i].childNodes[1].firstChild.nodeValue);
}
我需要在上面添加其他内容吗?我需要在我的html页面上添加什么?这实际上只是一个小JavaScript代码,它将一些结果写入console.log 从这里我看不出您真正想要做什么,但要写入文档而不是控制台,您可以使用document.writemsgs[i].childNodes[1].firstChild.nodeValue 或者,例如,如果您指定一个id=res的DIV,那么您可以这样做
document.getElementById("res").innerHTML += msgs[i].childNodes[1].firstChild.nodeValue;
而不是
console.log(msgs[i].childNodes[1].firstChild.nodeValue);
您可以执行以下操作:
document.querySelector('#display').innerHTML = msgs[i].childNodes[1].firstChild.nodeValue
或者换句话说,您需要将应该显示的文本设置为元素的文本内容。如果是新的,则需要将其附加到dom中。总而言之:这取决于您显示消息的方式。也可以使用客户端模板,如显示变得更复杂。谢谢显示所有消息,有没有办法只显示最新消息而不是全部消息?当然,将+=更改为简单的=,这样您就不会附加html,而是每次都将其更改为最新消息