javascript - 从服务器加载 JSON 数据

标签 javascript knockout.js

我目前正在使用knockout.js框架。我已经填写了基本联系表example并根据我自己的需要进行修改。我可以将这些值存储在我的数据库中。我很难从服务器加载值。我保存了两个联系人。加载值时,它会显示联系人的两个字段,但值为空。我正在检查控制台日志 ajax 请求,它正在返回值。如何正确从服务器加载值? DEMO

var ContactsModel = function (contacts) {
    var self = this;
    self.contacts = ko.observableArray(ko.utils.arrayMap(contacts, function (contact) {
    return {
            firstName: contact.firstName,
            lastName: contact.lastName,
            phone: contact.phone,
            alt_phone: contact.alt_phone,
            main1: ko.observable(contact.main1),
            main2: ko.observable(contact.main2)
        };
    }));



    self.addContact = function () {
        self.contacts.push({
            firstName: "",
            lastName: "",
            phone: "",
            alt_phone: "",
            main1: false,
            main2: false
        });
    };

    self.removeContact = function (contact) {
        self.contacts.remove(contact);
    };

    self.addPhone = function (contact) {
        contact.phones.push({
            number: ""
        });
    };

    self.removePhone = function (phone) {
        $.each(self.contacts(), function () {
            this.phones.remove(phone)
        })
    };

    self.save = function () {
            self.lastSavedJson(JSON.stringify(ko.toJS(self.contacts), null, 2));
        };


    self.lastSavedJson = ko.observable("");


};

$.getJSON("functions/getPerson.php", function(allData) {
          var initialData = $.map(allData, function(person) { return new ContactsModel(person) });
          ko.applyBindings(new ContactsModel(initialData));
});

最佳答案

删除此行:
varinitialData = $.map(allData, function(person) { return new ContactsModel(person) });

并尝试使用ko.applyBindings(new ContactsModel(allData));(与allData)。

而不是:ko.applyBindings(new ContactsModel(initialData));

关于javascript - 从服务器加载 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22125084/

相关文章:

javascript - 在同一个 (.js) 文件和另一个 PHP 文件中调用 Jquery 函数?

javascript - 无法获取下拉项的 ID

javascript - 如何创建平滑的文字效果? JS

javascript - Bootstrap 3 Tabs,事件选项卡仅在 firefox 中悬停时闪烁

javascript - Knockout js - 如何在两个 javascript 文件之间传递值

javascript - 如何让 Jade 的外部 JSON 从 Express 渲染?

javascript - 应用 'visible' 规则后调用函数

javascript - 行属性的文本区域 knockout attr 绑定(bind)不起作用

javascript - Knockout Js 自定义绑定(bind)处理器更新依赖

knockout.js - 如何使用 Knockout.js 绑定(bind)查询字符串参数?