我正在使用jQuery来填充通过AJAX加载的JSON数据的DIV。除了过程的最后阶段,一切都运作良好。
我有3个问题:
首先,它似乎没有出现AJAX完成功能。我没有在控制台日志中看到我的测试输出(也没有错误)。我也尝试过ajaxComplete处理程序,但没有成功。
其次,我的AJAX微调器图像(“rets_loader”)在填充内容之前被隐藏,而不是等到之后。我希望继续显示它,直到所有HTML都可见。
第三,我需要一个计数器,让我可以比较返回的JSON节点数量并采取一些措施。我试过html.length,但它总是0(零)。
这是我简化的代码,使事情更清晰:
$( document ).ready(function() {
quick_search();
});
function quick_search(){
$("#rets_loader").css("display","block");
$("#ourHolder").css("display","none");
var url="http://www.whatever.com/json.php";
$("#ourHolder").html("");
$.ajax({
type: "POST",
url: url,
cache : false,
dataType:"json",
error : function() {
alert("Sorry, we experienced an error. Please try again.");
},
complete: function() {
console.log("Triggered Ajax complete." );
},
success: function (html) {
counter=html.length;
$.each(html, function(i,item) {
read+='<a href="#">'+item.Address+'</a>';
$("#ourHolder").html(read);
});
$("#rets_loader").css("display","none");
}
});
}
HTML
<div id="rets_loader"><img src="ajax-loader_RETS.gif"></div>
<div id="ourHolder"></div>