【发布时间】:2013-12-29 10:26:57
【问题描述】:
我想将数据从 WCF 加载到网格 (SlickGrid)。如果我手动制作 Json 并将其加载到网格中,则此代码有效。但是,如果我使用从 Jquery - ajax 获得的变量,我会得到一个嵌入数组的对象。
如果我运行以下代码。
$(function () {
$.ajax({
url: "DataService.svc/DoWork",
type: "POST",
contentType: "application/json",
dataType: 'JSON',
success: loadData,
error: showError
});
});
function loadData(result) {
var data = [];
data[0] = {
BO: "Task ",
Agreement: "5 days"
};
console.log(data);
console.log(result);
grid = new Slick.Grid("#myGrid", data, columns, options);
}
我有 2 个控制台日志。第一个日志是我制作的 Json。第二个是 Json Ajax 返回。 Chrome 告诉我这是一个对象而不是一个数组(Json)。
如何将对象(结果)转换为像数据这样的数组结构?
【问题讨论】:
-
result.doWork将是您想要的数组 -
您是否尝试过使用
$.parseJSON(result)? -
var 数据 = [];数据[0] = 结果.d;
-
DataService.svc/DoWorksay 你在浏览器中得到了什么..? -
此外,尝试将
dataType更改为 HTML 并将您发送到此 AJAX 函数的 JSON 数据编码。它在 PHP 中像这样对我有用。