如何刷新DIV而不是页面?

时间:2016-02-21 00:08:50

标签: javascript php jquery html

好,我再来,请求你的帮助,我有一个代码,为我提供数据,它有一个DIV。

<div id="teste1"></div>

我想要的是刷新DIV并且没有整个页面,我一直在看jQuery和AJAX代码,但它们确实连接到PHP或HTML页面,在我的情况下,代码插入主页。

<script>
//http://code.google.com/p/miniajax/
function $(e){if(typeof e=='string')e=document.getElementById(e);return e};
function collect(a,f){var n=[];for(var i=0;i<a.length;i++){var v=f(a[i]);if(v!=null)n.push(v)}return n};
 
ajax={};
ajax.x=function(){try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(e){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(e){return new XMLHttpRequest()}}};
ajax.serialize=function(f){var g=function(n){return f.getElementsByTagName(n)};var nv=function(e){if(e.name)return encodeURIComponent(e.name)+'='+encodeURIComponent(e.value);else return ''};var i=collect(g('input'),function(i){if((i.type!='radio'&&i.type!='checkbox')||i.checked)return nv(i)});var s=collect(g('select'),nv);var t=collect(g('textarea'),nv);return i.concat(s).concat(t).join('&');};
ajax.send=function(u,f,m,a){var x=ajax.x();x.open(m,u,true);x.onreadystatechange=function(){if(x.readyState==4)f(x.responseText)};if(m=='POST')x.setRequestHeader('Content-type','application/x-www-form-urlencoded');x.send(a)};
ajax.get=function(url,func){ajax.send(url,func,'GET')};
ajax.gets=function(url){var x=ajax.x();x.open('GET',url,false);x.send(null);return x.responseText};
ajax.post=function(url,func,args){ajax.send(url,func,'POST',args)};
ajax.update=function(url,elm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.get(url,f)};
ajax.submit=function(url,elm,frm){var e=$(elm);var f=function(r){e.innerHTML=r};ajax.post(url,f,ajax.serialize(frm))};
 
function process(xml) {
  document.getElementById('teste1').innerHTML=xml;
  var title = document.getElementById('teste1').getElementsByTagName('song')[0].title;
  var name = document.getElementById('teste1').getElementsByTagName('Artist')[0].getAttribute('name');
  document.getElementById('teste1').innerHTML=' '+name+' - ' +title;
}
function checkXml() {
  ajax.get('/NowOnAir.xml',process)
}
window.onload=function() {
  checkXml();
  tId=setInterval('checkXml()',speed)  
}

</script>

有人可以帮助我吗?

非常感谢你!

1 个答案:

答案 0 :(得分:1)

首先,window.onload处理程序中的speed变量未定义,需要设置为数值。其次,您需要在遍历元素之前解析XML响应。链接样本: Cross-Browser Javascript XML Parsing

您可以使用上面的xml解析函数和下面的代码来获取歌曲名称,并使用相同的方法来查找其他元素的值。

parseXml(xml).getElementsByTagName('Song')[0].attributes[0].value