gpt4 book ai didi

javascript - Knockout.js 返回未定义

转载 作者:行者123 更新时间:2023-11-30 11:44:45 27 4
gpt4 key购买 nike

我正在尝试从 ajax 获取一些用户数据并将其返回到我的 html 中以更新 UI。出于某种原因,我无法让它工作。

我有以下 knockout :

function User(data) {
this.name = ko.observable(data.name);
this.email = ko.observable(data.email);
}

function UserViewModel() {
// Data
var self = this;
self.users = ko.observableArray([]);
self.newTaskText = ko.observable();
self.incompleteTasks = ko.computed(function() {
return ko.utils.arrayFilter(self.users(), function(user) { return !user.email() });
});


// Load initial state from server, convert it to Task instances, then populate self.tasks
$.getJSON("/admin/ajax-get-add-user-json.do", function(allData) {
var mappedTasks = $.map(allData, function(item) { return new User(item) });
self.users(mappedTasks);
console.log(allData);
console.log(allData.name);
});
}

ko.applyBindings(new UserViewModel());

然后我在 html 中像这样返回它:

<ul data-bind="foreach: users, visible: users().length > 0">
<li data-bind="text: email"></li>
<li data-bind="text: name"></li>
</ul>

但是当我将 console.log 用于 .name 时,它​​会在我的控制台中返回 undefined。它也不会在 HTML 中打印任何内容。

我在这里做错了什么?

最佳答案

需要读取所有数据的响应属性:

function(allData) {
var data = allData.response;
var mappedTasks = $.map(data, function(item) { return new User(item) });
self.users(mappedTasks);
}

关于javascript - Knockout.js 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41393495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com