未捕获的ReferenceError:无法处理绑定 - jquery mobile with knockout

时间:2014-10-06 19:50:42

标签: jquery jquery-mobile knockout.js asp.net-web-api

我在控制台中收到此错误:"未捕获的ReferenceError:无法处理绑定" 我在我的项目中使用wep 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 个答案:

答案 0 :(得分:0)

data-bind="forech:allAd"

forech应为foreach

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

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