gpt4 book ai didi

javascript - 我得到一个 JSON/Javascript 对象,因为我可以在控制台中看到它,但如何让它序列化并使我的数据绑定(bind)到我的 Ui 元素?

转载 作者:行者123 更新时间:2023-12-03 11:36:19 28 4
gpt4 key购买 nike

我正在使用 knockout 。我将动态数据从 MySql 服务器发送到 wcf 服务,然后让我的 knockout 函数在 div 中显示数据。我将发布下面的代码,以便您可以看到我在说什么。

我的 knockout 模型:

function machineDataModel(item) {
this.mach_no = ko.observable(item.mach_no),
this.VAR1 = ko.observable(item.VAR1),
this.VAR2 = ko.observable(item.VAR2),
this.VAR3 = ko.observable(item.VAR3),
this.VAR4 = ko.observable(item.VAR4)
};

knockout View 模型:

$(document).ready(function () {

var machineDataViewModel = {

machineDataItems: ko.observableArray([]),

loadMachineDataItems: function () {
alert('Method 1: Start');
$.getJSON("http://localhost/JsonRestful/Service1.svc/GetMachineData", function (data) {
alert(data);
console.log(data);
//machineDataViewModel.machineDataItems.removeAll();
//alert('Everything Removed')
alert('Method 2: Start');
$.each(data, function (index, item) {
machineDataViewModel.machineDataItems.push(new machineDataModel(item));

});
});
}
};

ko.applyBindings(machineDataViewModel);

machineDataViewModel.loadMachineDataItems();

//setInterval( loadMachineDataItems, 10000 );
});

我知道一切正常,直到出现警报方法 2:开始。每个方法并不像我想要的那样迭代数组。我在控制台中得到一个对象,我请求将其发布在日志中。 对象 { GetMachineDataResult=[20]}

我的观点是:

<div id="knockout" data-bind="foreach: machineDataItems">
<p id="machineNum" data-bind="text: mach_no"></p>
<div id="Completed" data-bind="text: VAR1"></div>
<div id="Style" data-bind="text: VAR2"></div>
<div id="PUPC" data-bind="text: VAR3"></div>
<div id="RPM" data-bind="text: VAR4"></div>
</div>

最佳答案

从您在评论中发布的 JSON 响应图像来看,您的 JSON 对象看起来像这样:

{
"GetMachineDataResult": [ // bunch of items here ]
}

请注意,该数组不是顶级对象,它是一个名为 GetMachineDateResult 的属性。所以代替:

$.each(data, function (index, item) { //...

您需要:

$.each(data.GetMachineDateResult, function (index, item) { //...

因为data是一个对象,而data.getMachineDateResult是你想要的数组。

关于javascript - 我得到一个 JSON/Javascript 对象,因为我可以在控制台中看到它,但如何让它序列化并使我的数据绑定(bind)到我的 Ui 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26493913/

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