我在控制台中收到此错误:"未捕获的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>
问题是什么?它在哪里?谢谢..
答案 0 :(得分:0)
data-bind="forech:allAd"
forech
应为foreach
如果仍然出现错误,最可能的原因是您的服务器api没有以您期望的格式返回JavaScript数组。确保从$.getJSON()
调用返回的数据实际上是JavaScript对象数组。它可能是字符串形式的JSON,需要将其解析为JavaScript。它可以是包含数组等的对象。如果您确认它实际上是包含对象的数组,请确保 page2 ,标题和价格实际上是数组中每个对象的属性。
如果您发布完整错误会很有帮助。它应该告诉你哪个绑定包含错误。