我很努力地返回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