我有一个挖空脚本,通过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 # is not a function"}
我在做什么错?