我正在使用 ParamQuery JavaScript 库 ( ParamQuery Website ) 构建 JavaScript 网格。
通过 JQuery,我使用 Ajax 向我的服务发出请求,该请求返回 JSON 数据。然后,我循环遍历 JSON 数据并将其分配给一个数组。我的问题是元素是字符串,但我认为它们需要是对象数组。
<script type="text/javascript">
$(document).ready(function () {
var DataArray = [];
$.ajax({
url: "http://wks52025:82/WcfDataService.svc/GetNotes()?$format=json",
type: "get",
datatype: "json",
success: function (data) {
$.each(data.d, function (i, item) {
DataArray[i] = "[" + item.NotesTitle.trim() + "," + item.NotesText.trim() + "]";
})
for (var i = 0; i < DataArray.length; i++) {
//alert(DataArray[i]);
//Do something
}
// GRID LOGIC HERE
var obj = { width: 800, height: 400, title: "Notes" };
obj.colModel = [
{ title: "NotesTitle", width: 500, dataType: "string" },
{ title: "NotesText", width: 500, dataType: "string" }
];
obj.dataModel = { data: DataArray }; // Data Array goes here
$("#grid_array").pqGrid(obj);
}
});
});
</script>
我附上了 VS 中“Watch”选项卡的屏幕截图以及调试后网格如何呈现的屏幕截图。
谁能帮我解决这个问题吗?
最佳答案
如果问题只是将其转换为对象数组,请看一下这一行:
$.each(data.d, function (i, item) {
DataArray[i] = { NotesTitle: item.NotesTitle.trim(), NotesText:item.NotesText.trim() };
})
更新 看一下示例,您需要一个数组数组
$.each(data.d, function (i, item) {
DataArray[i] = [ item.NotesTitle.trim(), item.NotesText.trim() ];
})
关于JavaScript 数组 : Change elements from string to object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16538231/