【问题标题】:How to receive POST data of ajax call in a javascript function如何在 javascript 函数中接收 ajax 调用的 POST 数据
【发布时间】:2015-12-11 17:33:59
【问题描述】:

我需要一点帮助。我正在尝试使用 ajax 分页实现引导数据表。由于这是移动应用程序(Cordova),我也完全依赖于服务器端的 javascript。这就是为什么我在 url 中调用 javascript 函数的原因。现在我不确定如何在其中获取 POST 数据。任何帮助将不胜感激。

$(document).ready(function(){
  $("‪#‎products‬").dataTable({
     aLengthMenu: [
       [10, 25, 50, 100, -1], [10, 25, 50, 100, "All"]
     ],
     aaSorting: [],
     bProcessing: true,
     serverSide: true,
    ajax:{
      url : ProductList.getProductsPaginated(),
      type: "post", // type of method , by default would be get
      error: function(){ // error handling code
    }
  }
});

ProductList.getProductsPaginated(){
// This method gets called succesfully
// Need the post data here
}
});

编辑: 让,不使用函数作为url参数,让我们直接使用html页面

url : "page.html",

现在,如何在 html 或 js 中获取这些帖子数据?我正在寻找的还有其他方法吗?

【问题讨论】:

  • 为什么需要ajax来调用JS函数?
  • 我已经说过“我也完全依赖于服务器端的 javascript”。我在基于科尔多瓦的应用程序中使用数据表。主要是 HTML 和 Javascript。我使用 javascript 从 sqlite 数据库中获取数据。希望你能理解。
  • 好吧,我什至不知道从哪里开始你的问题。您的 ajax 请求的 url 应该是节点后端提供的端点的实际 url/地址。您的节点服务器将执行您需要的任何处理/获取信息并做出响应。此响应将显示在您的 ajax 请求中的 successerror 函数中。从那里你可以在前端做任何你想做的事情。你不会从你的前端访问你的 SQLite 数据库,除非我弄错了
  • 我已经提到这是一个移动应用程序,我将从 sqlite db 获取数据。例如,在 getProductsPaginated() 中,我将执行来自 sqlite 数据库的选择查询。希望你能理解。

标签: javascript jquery twitter-bootstrap cordova datatables


【解决方案1】:

我不明白为什么你需要该函数中的数据,但它不会在 ajax 成功时被调用,它是因为括号而被调用的,我认为你唯一能做的就是返回路径您的 json 数据,但是您可以使用您的 ajax 成功的发布数据调用函数,如下所示:

ajax: {
 url : ProductList.getProductsPaginated(),
 type: "post",
 dataSrc: function (data) {
  // you can call a function here with the data as parameter
  // you have to return the data, with modifications if you need
  return data;
 }
}

【讨论】:

  • 您的答案不正确,请参阅ajax 选项 - success - 不能被覆盖,因为它在 DataTables 内部使用
  • 不知道,按照文档建议进行了编辑,谢谢。
【解决方案2】:

感谢大家帮助我。我发现无法使用 ajax 将数据发布到 javascript 函数。在这种情况下,我无法使用 DataTable 的 ajax 功能通过分页来最小化数据加载时间。只能对服务器端脚本进行 Ajax 调用。这就是为什么我禁用了数据表的分页并使用 javascript 实现了自定义分页。

【讨论】:

  • 谁放弃投票,应该留下评论的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
  • 2011-01-22
  • 2017-01-20
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
相关资源
最近更新 更多