我得到了一个JSON/Javascript对象,因为我可以在控制台中看到它,但我如何让它序列化并使我的数据绑定到我的Ui
I am getting a JSON/Javascript object because I can see it in my console, but how do I get it to serialize and make my data bind to my Ui elements?
我正在使用淘汰。我将动态数据从MySql服务器发送到wcf服务,然后使用敲除函数在div中显示数据。我会在下面发布代码,这样你就可以看到我在说什么了。
我的淘汰模型:
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)
};
淘汰赛视图模型:
$(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:开始。each方法并没有像我希望的那样迭代数组。我在控制台中获得了一个对象,我请求将其发布在日志中。Object { 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
是您想要的数组。
相关文章:
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- ListView的ItemTemplate内的自定义HtmlControl的数据绑定失败
- JavaScript HTMLElement 属性上的数据绑定 在 Polymer 中
- 挖空和显示模块模式的数据绑定问题
- knockout.js获胜't更新我的foreach绑定,尽管更改已注册
- 为SEO的数据绑定JS预加载数据
- 有棱角的将数据字典中的数据绑定到对象
- 为什么我的数据绑定到一个计算函数不起作用(使用knockout.js和jade)
- 如何将我的路由器绑定到我的方法-Backbonejs
- Angular.js中的一个函数的数据绑定
- 如何通过 KNOCKOUT 中的数据绑定值更改 css 中规则的值
- href javascript 链接中的数据绑定值
- 从链接内的数据绑定中获取字符串
- 删除 angular2 中的数据绑定
- NodeJS与AngularJS,所需的HTML文件不是跨控制器的数据绑定全局变量
- 为什么我的数据绑定不起作用
- 挖空添加我自己的数据绑定属性,如 With
- 我得到了一个JSON/Javascript对象,因为我可以在控制台中看到它,但我如何让它序列化并使我的数据绑定到我的Ui
- 我的数据绑定有效,但我的输入ng模型是't更新时更新
- 我根本不懂Angular的数据绑定