javascript - 如何修改 jQuery AJAX 调用的响应数据并将其作为更新的 jqXHR 结果返回?

标签 javascript jquery

我正在使用 jsGrid,其 loadData Controller 需要 ajax 调用中的数据,如下所示:

controller: {
  loadData: function() {
    return $.getJSON(url).done(function(data) {
      console.log(data)
    });
  }, 
  //...definition for others insertItem, updateItem, deleteItem
}

上面的效果很好。

我现在需要在将数据传递到jsGrid之前对其进行处理。我想我必须在完成函数内完成它。如何返回修改后的数据

最佳答案

您无法从异步函数返回任何内容。

为了做你需要做的事,你需要颠倒你的逻辑;首先发出 AJAX 请求来获取数据,然后使用它在回调处理程序中初始化 jsGrid。像这样的事情:

$.getJSON(url).done(function(data) {
  var modifiedData = /* modify your data object/array here... */

  $('#element').jsGrid({
    data: modifiedData
  });
});

关于javascript - 如何修改 jQuery AJAX 调用的响应数据并将其作为更新的 jqXHR 结果返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42996125/

相关文章:

javascript - 与 swiper 结合使用时奇怪的 ngx-translate 行为

javascript - 在 javascript 中访问多维数组中的所有子元素 "mathematica"

javascript - 无法根据下拉选择在 AJAX/Javascript/HTML 中创建表单

javascript - 奇怪的 Javascript 类型错误 'is not a function'

javascript - 合并 Kendo ListView 与 Fancybox 问题

javascript - 如何使用jquery获取链接的href属性并将其设置为下一个同级的href?

javascript - 使用外部按钮处理表单的提交事件

JQuery:遍历具有多个仅共享第一个类名的 css 类名的元素

jQuery - 向元素添加跨浏览器的 css 样式

javascript - 如何在用户重新加载页面时更新图像/ Logo ?