Javascript JSONP结果,并对该数据运行多个函数

Javascript JSONP结果,并对该数据运行多个函数,javascript,jquery,json,jsonp,Javascript,Jquery,Json,Jsonp,我正在发送一个JSONP请求,结果集中有三个方法 问题是在第一个函数执行后,其余函数不会执行 function syncData(jsonData){ alert('1'); getUnreadNotifications(jsonData.getUnreadNotifications); alert('2'); getActiveCL(jsonData.getActiveCL); alert('3'); getActiveCLI(jsonData.

我正在发送一个JSONP请求,结果集中有三个方法

问题是在第一个函数执行后,其余函数不会执行

function syncData(jsonData){
    alert('1');
    getUnreadNotifications(jsonData.getUnreadNotifications);
    alert('2');
    getActiveCL(jsonData.getActiveCL);
    alert('3');
    getActiveCLI(jsonData.getActiveCLI);
}
它只会提醒1。然后停下来。以下是函数。。。我做错了什么

function getActiveCL(jsonData2){

    var list =$('#ul-cl');
    list.empty();
    var htmldata = '';

    jQuery.each(jsonData2, function() {
        htmldata += '<li data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="#consideration-list-id-' + this.id + '" class="ui-link-inherit">Table ' + this.table + ' - ' + this.guest_name + ' ' + this.created + ' <span class="ui-li-count ui-btn-up-c ui-btn-corner-all">' + this.items + '</span></a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"></span></div></li>';
    });
    list.append(htmldata);
    list.listview();
    list.listview('refresh');
    $('a[href="#consideration-list-listing"] .ui-li-count').html(jsonData2.length); 
}
function getActiveCLI(jsonData){
    var lists =$('[id^="ul-consideration-list-id-"]');
    lists.empty();
    alert(jsonData);
    jQuery.each(jsonData, function() {
        var list = $('#ui-consideration-list-id-'+ this.cl_id);
        //timeElapsed = elapsedpretty(this.created);
        alert(list.size());         
        var htmldata = '<li data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="#item-id-' + this.item_id + '" class="ui-link-inherit">' + this.name + '</a></div><span class="ui-icon ui-icon-info ui-icon-shadow"></span></div></li>';
        list.append(htmldata);
    });
    lists.listview();
    lists.listview('refresh');
}

function getUnreadNotifications(jsonData){
    // Build Lists
    var appendData = '';
    var list = $('#message-ul');
    var lastID = 0;
    var messageCount = [];
    var currentVal = parseInt($('.nav a[href="#message-listing"] .ui-li-count').html());
    jQuery.each(jsonData, function() {
        appendData +='<li id="mid-'+this.id+'" data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top ui-li-static ui-body-a" ><span class="ui-icon ui-icon-alert ui-icon-shadow"></span><div class="ui-btn-inner ui-li  ui-li-static ui-body-a"><div class="ui-btn-text">Table '+this.table+' - '+this.created+'</div></div></li>';
        lastID = this.id;
    });
    // Prepend new messages

    list.prepend($(appendData).hide()).children().slideDown();
    $('a[href="#message-listing"] .ui-li-count').html(currentVal + jsonData.length);
    // Set last checked id
    if(lastID !== 0) localStorage.setItem('last_message_id', lastID);

    list.listview();
    list.listview('refresh');
}
我做错了什么

function getActiveCL(jsonData2){

    var list =$('#ul-cl');
    list.empty();
    var htmldata = '';

    jQuery.each(jsonData2, function() {
        htmldata += '<li data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="#consideration-list-id-' + this.id + '" class="ui-link-inherit">Table ' + this.table + ' - ' + this.guest_name + ' ' + this.created + ' <span class="ui-li-count ui-btn-up-c ui-btn-corner-all">' + this.items + '</span></a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"></span></div></li>';
    });
    list.append(htmldata);
    list.listview();
    list.listview('refresh');
    $('a[href="#consideration-list-listing"] .ui-li-count').html(jsonData2.length); 
}
function getActiveCLI(jsonData){
    var lists =$('[id^="ul-consideration-list-id-"]');
    lists.empty();
    alert(jsonData);
    jQuery.each(jsonData, function() {
        var list = $('#ui-consideration-list-id-'+ this.cl_id);
        //timeElapsed = elapsedpretty(this.created);
        alert(list.size());         
        var htmldata = '<li data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a href="#item-id-' + this.item_id + '" class="ui-link-inherit">' + this.name + '</a></div><span class="ui-icon ui-icon-info ui-icon-shadow"></span></div></li>';
        list.append(htmldata);
    });
    lists.listview();
    lists.listview('refresh');
}

function getUnreadNotifications(jsonData){
    // Build Lists
    var appendData = '';
    var list = $('#message-ul');
    var lastID = 0;
    var messageCount = [];
    var currentVal = parseInt($('.nav a[href="#message-listing"] .ui-li-count').html());
    jQuery.each(jsonData, function() {
        appendData +='<li id="mid-'+this.id+'" data-theme="a" class="ui-btn ui-btn-up-b ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-count ui-corner-top ui-li-static ui-body-a" ><span class="ui-icon ui-icon-alert ui-icon-shadow"></span><div class="ui-btn-inner ui-li  ui-li-static ui-body-a"><div class="ui-btn-text">Table '+this.table+' - '+this.created+'</div></div></li>';
        lastID = this.id;
    });
    // Prepend new messages

    list.prepend($(appendData).hide()).children().slideDown();
    $('a[href="#message-listing"] .ui-li-count').html(currentVal + jsonData.length);
    // Set last checked id
    if(lastID !== 0) localStorage.setItem('last_message_id', lastID);

    list.listview();
    list.listview('refresh');
}

不查看JS控制台中的错误日志以了解引发了什么异常…

TypeError
。你确定你使用的是最新版本的jqm吗


您正在调用
list.listview()
列表。listview
可能未定义。因此,尝试作为函数调用undefined会引发错误。一旦解释器遇到错误,它将停止执行,因此脚本的其余部分(包括警报)将不会被调用。

您是否检查了javascript控制台中的错误?
getUnderNotifications()
中出现错误。您可能希望在其中放置一个断点,然后逐步查看问题所在。我正在查看chrome inspector和safari inspector,但是它不会抛出任何错误。这就是为什么我如此困惑,但我会深入研究getUnread,看看里面是否有什么。Hrm,当我将列表选择器从类/子代选择器更改为id时,我认为出现了这个问题。在我的控制台中,由于某种原因,我没有看到错误。谢谢你的帮助,我真的很感激。现在我得弄清楚我的控制台出了什么问题:)@Fostah,很荣幸。听起来确实有点可疑。。。如果安装了其他库/依赖项,那么我在运行代码时没有使用它们,因此,对于您的代码,错误可能不同。但同样,只有你知道——而控制台几乎是你唯一的指南。祝你好运