jquerycompleteins';行不通
我使用jQuery用通过AJAX加载的JSON数据填充DIV。除了过程的最后一刻,一切都很顺利 我有三个问题: 首先,似乎没有启动AJAX complete函数。我在控制台日志中没有看到我的测试输出(也没有错误)。我也尝试过ajaxComplete处理程序,但没有成功 其次,我的AJAX微调器图像(“rets_loader”)在填充内容之前被隐藏,而不是等到之后。我想一直显示它,直到所有的HTML都可见 第三,我需要一个计数器,它可以让我比较返回的JSON节点数并采取一些措施。我尝试了html.length,但它总是0(零) 以下是我简化的代码,以使事情更清楚:jquerycompleteins';行不通,jquery,json,ajax,Jquery,Json,Ajax,我使用jQuery用通过AJAX加载的JSON数据填充DIV。除了过程的最后一刻,一切都很顺利 我有三个问题: 首先,似乎没有启动AJAX complete函数。我在控制台日志中没有看到我的测试输出(也没有错误)。我也尝试过ajaxComplete处理程序,但没有成功 其次,我的AJAX微调器图像(“rets_loader”)在填充内容之前被隐藏,而不是等到之后。我想一直显示它,直到所有的HTML都可见 第三,我需要一个计数器,它可以让我比较返回的JSON节点数并采取一些措施。我尝试了html.
$( 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");
}
});
}
$(文档).ready(函数(){
快速搜索();
});
函数快速搜索(){
$(“#rets#u loader”).css(“显示”、“块”);
$(“#我们的持有人”).css(“显示”、“无”);
变量url=”http://www.whatever.com/json.php";
$(“#我们的持有人”).html(“”);
$.ajax({
类型:“POST”,
url:url,
cache:false,
数据类型:“json”,
错误:函数(){
警报(“很抱歉,我们遇到错误。请重试。”);
},
完成:函数(){
log(“触发Ajax完成”);
},
成功:函数(html){
计数器=html.length;
$.each(html,函数(i,项){
读+='';
$(“#我们的持有人”).html(阅读);
});
$(“#rets#u loader”).css(“显示”、“无”);
}
});
}
HTML
对于第1个问题,您是否看到执行了成功或错误回调函数?使用的是随机全局:read+='为什么使用名称lile“html”来调用“通过AJAX加载的JSON数据”?这意味着它返回HTML而不是JSON,就像“data”一样代码>显示你回来了?
<div id="rets_loader"><img src="ajax-loader_RETS.gif"></div>
<div id="ourHolder"></div>