javascript - SyntaxError:无法使用 json 解析绑定
问题描述
我刚从 Knockout JS 开始,我很难在这里找到问题所在。我正在调用控制器 Web 服务来获取一些我想在我的页面中显示的数据。
这是我的视图模型:
function ViewModel() {
var self = this;
self.MonthSalesList = ko.observableArray();
var url = 'myurl';
self.GetQueryData = function () {
$.ajax({
type: "GET",
url: url,
dataType: "json",
success: function (data) {
console.log('callback success');
console.log(data);
var observableData = ko.mapping.fromJS(data);
var array = observableData();
self.MonthSalesList(array);
},
error: function (jq, st, error) {
alert(error);
}
});
}
}
$(document).ready(function () {
ko.applyBindings(new ViewModel());
});
在html中:
<body>
<table>
<thead>
<tr>
<th>Year</th>
<th>Mes</th>
<th>Ano Atual</th>
<th>Ano Anterior</th>
<th>Variação</th>
</tr>
</thead>
<tbody data-bind="foreach: vendasMesList">
<tr>
<!-- <td data-bind="text: ko.toJSON($data)"></td> -->
<td data-bind="text: Year"></td>
<td data-bind="text: Mes"></td>
<td data-bind="text: Ano Atual"></td>
<td data-bind="text: Ano Anterior"></td>
<td data-bind="text: Variação"></td>
</tr>
</tbody>
</table>
<br/>
<input type="button" value="Get Sales" data-bind="click: GetQueryData" />
</body>
当我加载页面并单击“获取销售额”时,我只获得了 json 数据的第一个值:
我想得到的数据在 Postman 上看起来像这样:
我看到的唯一区别是“Ano Atual”的数字类型。
有谁知道我做错了什么?
谢谢你。
解决方案
推荐阅读
- jpa - 将单个实体字段映射到 spring data jpa 和 postgres sql 中的多个 dB 列
- php - 在虚拟主机中调用未定义的函数 mysql_connect()
- php - Phabricator - 我自己的应用程序、路由器和 404 错误
- postgresql - 如何在postgresql中将字符变量如2000转换为2,000.00格式
- android - 显示默认空场景的 HelloAR 示例场景
- c# - 半书面 Lambda 查询的分组和排序
- html - 如何在 asp.net 中访问动态创建的 HTML 控件值
- python - 如何使用熊猫从第二个数据框中过滤数据框中两列的值
- microcontroller - 16F877 微控制器内存大小 8k
- linux - <<$$$ 在 Unix shell 中是什么意思?