嗨,我的 js 文件中有以下代码。我将 drundal 框架用于使用 REST api 的文件上传应用程序。在 http://localhost:49589/api/files
中,它将给出存储在数据库中的文件列表。
var Value = ko.observableArray([]);
self.js = $.getJSON("http://localhost:49589/api/files", function (result) {
self.Value(result);
});
并且 View 具有以下代码
<table data-bind="foreach: Value">
<tr>
<td data-bind=" text: ID "></td>
<td data-bind=" text: Name "> </td>
<td data-bind=" text: Type "> </td>
<td data-bind=" text: Size "> </td>
</tr>
</table>
一旦我上传一个文件,我就会收到成功警报,并且它会被添加到数据库中。但如果我导航到主页,则不包括新添加的文件详细信息。但如果我关闭我的应用程序并重新启动它,我将获得新添加的文件信息。我知道发生这种情况是因为当我导航到主页时 http://localhost:49589/api/files
它没有被调用。有没有办法在导航时重新呈现主页
最佳答案
确保您在激活函数中调用您的 API。
define(['plugins/http', 'durandal/app', 'knockout'], function (http, app, ko) {
return {
Value: ko.observableArray([]),
activate: function () {
var that = this;
return http.get('http://yourservice.com', { format: 'json' }, 'jsoncallback').then(function (response) {
that.Value= response;
});
}
}
});
关于c# - REST api 不调用导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18954033/