我很努力地返回JSON数据并将其转换为可观察对象。数据以JSON格式正常返回,但似乎没有分配给observable。任何人都可以帮忙吗?我猜问题是在Ajax调用的成功部分:将Knockout js json转换为可观察的
<script type="text/javascript">
function StandingsViewModel() {
var self = this;
self.standings = ko.observableArray();
self.DivisionName = ko.observable('');
self.afceast = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "AFC East" == i.DivisionName;
});
});
self.afccentral = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "AFC Central" == i.DivisionName;
});
});
self.afcwest = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "AFC West" == i.DivisionName;
});
});
self.nfceast = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "NFC East" == i.DivisionName;
});
});
self.nfccentral = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "NFC Central" == i.DivisionName;
});
});
self.nfcwest = ko.computed(function() {
return ko.utils.arrayFilter(self.standings(), function (i) {
return "NFC West" == i.DivisionName;
});
});
$.ajax({
dataType: "json",
url: "/api/standing/GetStandingsBySeason/2018",
beforeSend: function (xhr) {
$('#divStandings').html('');
$('#divStandings').addClass('ajaxRefreshing');
xhr.setRequestHeader('X-Client', 'jQuery');
},
success: function (result) {
$('#divStandings').removeClass('ajaxRefreshing');
self.standings(JSON.parse(result));
}
});
}
$(document).ready(function() {
ko.applyBindings(new StandingsViewModel());
});
</script>
没有得到这个工作,警报(observableResult)给出了这样的:函数c(){如果(0 <的arguments.length){如果(! c.equalityComparer ||!c.equalityComparer(d,arguments [0]))cI(),d = arguments [0],cH(); return this} aULa(c); return d}。我需要其他参考吗? – user517406 2013-02-24 15:59:52
'observableResult()'的结果是什么?你确定'result'还没有被解析吗? – 2013-02-24 16:16:30
alert(observableResult())给出null – user517406 2013-02-24 16:21:22