【问题标题】:JavaScript function undefined from console no visible response控制台未定义 JavaScript 函数 无可见响应
【发布时间】:2014-04-12 22:27:18
【问题描述】:

我确定这是一个新手错误,但是.....

我的 JQuery Mobile 页面的正文中有这个函数:

    <script>
        function theManufacturers(inputSearch){
            var qryString = 0;

            //set up string for adding <li/>
            var li = "";
            var jqxhr = $.getJSON("http://someurl.com/page.aspx?sumvar=hello&callback=?",
            function(data){
                    $.each(data.items, function(i,item){
                        li += '<li><a href="#" id="' + i + '" class="info-go">' + item.Manufacturer + '</a></li>';
                    });
                    $("#manufacturer-list").append(li);
                    $("#manufacturer-list").listview("refresh");
                });
            //jqxhr.done(function() {
             //   console.log( "second success" );
            //});
        };
    </script>

我尝试在 Firebug 的控制台中调用它,命令只是变成蓝色,然后下面的灰色行显示“未定义”。显然该函数似乎没有做任何事情。

任何关于为什么失败的建议,将不胜感激。

【问题讨论】:

  • 它应该返回 undefined 因为你没有返回任何东西。
  • 返回undefined是正确的。如果您没有看到页面更新,那么 A) JSONP 调用失败,或 B) data.items 中没有条目。使用您的调试器找出哪个(您的浏览器中内置了一个功能齐全的调试器)。
  • 我认为 @T.J.Crowder 应该是获得荣誉的人。他的建议比我的回答更有帮助。
  • @BillCriswell 非常尊敬的先生!
  • @PhillHealey:好人,但我认为这更像是一个答案而不是答案。如果您找到实际答案(有错误,或者数组没有条目),请继续发布它,并在 48 小时限制后接受它。很高兴能帮上忙,

标签: javascript jquery jquery-mobile jsonp


【解决方案1】:

正如 T.J.Crowder 和 Bill Crisswell 所指出的,未定义的响应是意料之中的,实际上并不表明我的 JS 函数有任何问题。

实际的问题是我从项目的另一个页面复制了代码,并且没有在我的 JS 中更新对正确列表视图的引用。因此,页面上的列表视图没有被函数拉入的结果数据填充。

至少我了解到未定义的控制台响应是我的 JS 的正确输出,我现在知道为什么了。感谢所有指出这一点的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 2013-06-09
    • 1970-01-01
    相关资源
    最近更新 更多