Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquerycompleteins';行不通_Jquery_Json_Ajax - Fatal编程技术网

jquerycompleteins';行不通

jquerycompleteins';行不通,jquery,json,ajax,Jquery,Json,Ajax,我使用jQuery用通过AJAX加载的JSON数据填充DIV。除了过程的最后一刻,一切都很顺利 我有三个问题: 首先,似乎没有启动AJAX complete函数。我在控制台日志中没有看到我的测试输出(也没有错误)。我也尝试过ajaxComplete处理程序,但没有成功 其次,我的AJAX微调器图像(“rets_loader”)在填充内容之前被隐藏,而不是等到之后。我想一直显示它,直到所有的HTML都可见 第三,我需要一个计数器,它可以让我比较返回的JSON节点数并采取一些措施。我尝试了html.

我使用jQuery用通过AJAX加载的JSON数据填充DIV。除了过程的最后一刻,一切都很顺利

我有三个问题:

首先,似乎没有启动AJAX complete函数。我在控制台日志中没有看到我的测试输出(也没有错误)。我也尝试过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");
        }
    });

}
$(文档).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>