我有一個挖空腳本,通過ajax從服務器加載數據並將這些信息輸出到模型中。如果簡化一切,我的模型是這樣的:有沒有辦法修改Ajax調用請求的數據?
function ArticleViewModel() {
var self = this;
this.articleInfo = ko.observable();
this.getArticle = function(id) {
$.get("/router.php", { articleId: id }, self.articleInfo, 'json');
};
};
一切都工作得很好(我的看法是填充了來自服務器的信息)。但我需要的是修改這些信息(例如,將數據從時間戳更改爲可讀格式)。
據我瞭解,實現它的一種方式是通過knockout computed observables,但我沒有看到這樣做的原因,因爲我不會在這裏需要時間戳,我可以在更新後更改一次數據並使用它(if我錯了,我會很高興聽到爲什麼以及如何實現我想要的計算觀察值)。
所以我試圖改變我的數據在Ajax請求按以下方式(一切都是一樣的,但AJAX調用有回調):
$.get("/router.php", { type : 'mail' }, function(i){
var d = new Date(i.date);
self.articleInfo = {
date: d.toString(),
title: i.title
};
}, 'json');
我在頁面上沒有錯誤,但沒有信息顯示。當我轉到其他頁面時,我看到一條警告:TypeError {stack: (...), message: "500 Error get /#Home Property 'articleInfo' of object #<ArticleViewModel> is not a function"}
我在做什麼錯?
對不起,它是articleInfo,而不是SelectedMailData。而且你保存了幾個小時的絕望編碼。非常感謝你。 –