我正在使用jsGrid
loadData
控制器期望ajax调用中的数据如下:
controller: {
loadData: function() {
return $.getJSON(url).done(function(data) {
console.log(data)
});
},
//...definition for others insertItem, updateItem, deleteItem
}
以上工作正常。
我现在需要按摩data
才能将它们传递给jsGrid
。我想我必须在done函数中完成它。如何返回修改后的data
?
答案 0 :(得分:0)
您无法从异步函数返回任何内容。
为了做你需要的事,你要扭转你的逻辑;使AJAX请求首先获取数据,然后使用它来初始化回调处理程序中的jsGrid。像这样:
$.getJSON(url).done(function(data) {
var modifiedData = /* modify your data object/array here... */
$('#element').jsGrid({
data: modifiedData
});
});
答案 1 :(得分:0)
使用带有jqXHR
参数的成功回调的重载:
controller: {
loadData: function() {
return $.getJSON(url).done(function(data,status,jqXHR) {
console.log(data)
//modify data and update it into jqXHR.responseJSON
console.log(jqXHR.responseJSON)
});
},
//...definition for others insertItem, updateItem, deleteItem
}