我在使用ajax加载后在包装器中刷新内容时遇到问题。
当我用firebug检查时 - XHR正在显示请求,我可以看到已加载的元素,但它没有显示在页面上。
这是我用于获取ajax内容的pullDown函数
function pullDownAction () {
setTimeout(function () {
var el, li, i;
el = document.getElementById('thelist');
var http = new XMLHttpRequest();
var url = window.location;
http.open("GET",url,true);
http.send();
myScroll.destroy();
myScroll = null;
loaded();
}, 1000);
}
看起来内容显示在网页和ajax请求之间。
有什么想法吗?
答案 0 :(得分:0)
myScroll.refresh()
(而不是.destroy()并回忆“loaded()”)应该做的伎俩!
如果您使用的是IScroll4,可以尝试使用iscroll的checkDOMChanges:true
选项。
如果它仍然不起作用 - 它可能是由于卷轴包装器(#scroller)没有随其内容扩展而导致的CSS问题。 (float
,position:absolute;
或类似的东西)
根据this example,您需要onreadystatechange
事件的事件处理程序:
http.open("GET",url,true);
http.onreadystatechange = function () {
if (http.readyState == 4) {
alert(http.responseText); //handle this response! (i.e. writing to an element's innerHTML)
}
};
http.send(null);