未捕获的 ReferenceError:无法处理绑定 - 带有淘汰赛的 jquery mobile

Posted

技术标签:

【中文标题】未捕获的 ReferenceError:无法处理绑定 - 带有淘汰赛的 jquery mobile【英文标题】:Uncaught ReferenceError: Unable to process binding - jquery mobile with knockout 【发布时间】:2014-12-01 03:48:06 【问题描述】:

我在控制台中收到此错误:“未捕获的 ReferenceError:无法处理绑定” 我在我的项目中使用过 api、jquery mobile 和 knockoutjs。 Wep api 运行流畅。

<script src="js/jquery-2.1.1.js"></script>
<script type="text/javascript" src="js/photoswipe/klass.min.js"></script>
<script type="text/javascript" src="js/jquery.mmenu.min.all.js"></script>
<script type="text/javascript" src="js/jquery.flexslider.js"></script>
<script type="text/javascript" src="js/photoswipe/code.photoswipe.jquery-3.0.4.min.js"></script>
<script type="text/javascript" src="js/o-script.js"></script>
<script type="text/javascript" src="js/knockout-3.2.0.js"></script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>

<script>
$(document).ready(function () 
    var ViewModel = function () 
        this.allAd = ko.observableArray([]);
        this.lastAd = ko.observableArray([]);
    ;

    var vm = new ViewModel();
    ko.applyBindings(vm);

    $.getJSON("http://localhost:54027/api/ad/allads", function (data) 
       vm.allAd(data)
    )

    $.getJSON("http://localhost:54027/api/ad/lastads", function (data) 
        vm.lastAd(data)
    )
)
  </script>

  <div data-role="main" id="content2">
        <div class="subHeader"><i class="i-home i-small"></i>Tüm İlanlar</div>
        <input id="filterBasic-input" data-type="search">

        <ul data-role="listview" data-inset="true" data-filter="true" data-input="#filterBasic-input" data-bind="forech:allAd">
            <li>
                <a data-bind="attr:href: page2" href="#page2" data-transition="flip">

                    <h2 data-bind="text:Title"></h2>
                    <p data-bind="text:Price"></p>
                </a>
            </li>

        </ul>
    </div>

有什么问题?它在哪里?谢谢。。

【问题讨论】:

【参考方案1】:
data-bind="forech:allAd"

forech 应该是foreach

如果您仍然收到错误,最可能的原因是您的服务器 api 没有返回您期望的格式的 JavaScript 数组。确保从 $.getJSON() 调用返回的数据实际上是一个 JavaScript 对象数组。它可以是字符串形式的 JSON,需要将其解析为 JavaScript。它可能是一个包含数组等的对象。如果您确认它实际上是一个包含对象的数组,请确保 page2Title价格实际上是数组中每个对象的属性。

如果您发布完整的错误信息将会很有帮助。它应该告诉您哪个绑定包含错误。

【讨论】:

以上是关于未捕获的 ReferenceError:无法处理绑定 - 带有淘汰赛的 jquery mobile的主要内容,如果未能解决你的问题,请参考以下文章

KO ReferenceError:无法处理绑定

未捕获的 ReferenceError:在初始化之前无法访问“GA”

未捕获的 ReferenceError:未定义 showCategory

PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”

未捕获的 ReferenceError:未定义数据

未捕获的 ReferenceError:未定义导出并且需要