请注意这个问题上的帮助: 在一个循环中,我首先调用一个函数,它将更改DIV的内容,然后尝试显示新的内容。该代码是(简述):如果我添加一个“警报”
while (...){
fetch(website_url);
// alert("useless");
x=document.getElementById("prova").textContent;
alert(x);
}
“魂”是使用jQuery来打开指定的URL并粘贴在DIV“PROVA”内容的功能。看到评论“警报”?如果我保留它的评论,“抓取”完美地工作(我在浏览器窗口中看到取回的代码),但第二个警报不是!它显示了过去的DIV内容(即,第一次是空白的,在第二次迭代时将显示第一次迭代的内容等)。 但是,如果我取消注释第一个警报,第二个警报正常工作。 它看起来像一个同步问题,但我尝试了很多方法(即超时,ifs,..),但我一直无法解决它。任何建议?
这里是取功能(其实这不是我的......我只是在学习如何使用它)
function fetch(url){
container = $('#prova');
doAjax(url);
function doAjax(url){
$.getJSON("http://query.yahooapis.com/v1/public /yql?"+"q=select%20*%20from%20html%20where%20url%3D%22"+encodeURIComponent(url)+"%22&format=xml'&callback=?",
function(data){
if(data.results[0]){
var data = filterData(data.results[0]);
container.html(data);
} else {
var errormsg = '<p>Error: could not load the page.</p>';
container.html(errormsg);
}
}
}
fetch()的外观是什么? – charisis 2011-03-09 09:56:41
我怀疑它是jQuery.load或其中一种相关的风格,但我同意,看到fetch()实现将会很有帮助。 – 2011-03-09 10:03:46