【问题标题】:how to perform multiple ajax queries within an ajax block如何在一个 ajax 块中执行多个 ajax 查询
【发布时间】:2013-03-29 08:36:15
【问题描述】:

我正在做一个项目,我使用 ajax、jquery、php 和 sql 来操作数据。

function fetchComments(commentOnId, commentOn){
if(!isNaN(commentOnId) && commentOnId >=0){
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: 'get_comments.php',
        data: 'commentOnId='+commentOnId+'&commentOn=blogArticle',
        success: function(data){},
        error: function(){
        }
    }); 
}
}

上述函数使用传递给它的“commentOnId & commentOn”以 json 格式获取对该特定博客 ID 的所有评论。 我的评论表中的结果/行如下。 ID commentOnId 给某事物发表意见 评论文本 作者 ID 已创建

我想要做的是获取这些行的值,并在同一个函数中运行另一个 ajax 查询,我会将 authorId 传递给一个 php 文件,该文件从名为 authorDetails 的表中返回作者的全名, 并且还使用 id 值运行另一个 ajax 查询以返回对此评论 id 的所有回复,如果没有回复,则返回 null。最后用结果更新一个 html div ''。

拜托,我将感谢您快速全面的帮助。谢谢。

【问题讨论】:

  • 为什么不从success: function(data){//run ajax query from here}发出另一个ajax请求?
  • 为什么不在服务器端获取您需要的数据并一次性发送?

标签: php jquery sql ajax


【解决方案1】:

如果您不希望在用户迭代的基础上获得其他详细信息,您可以使用 SQL 联接在一个请求中获取所有需要的数据。

【讨论】:

  • 谢谢,但请问我如何从评论表中选择所有并从 authorDetails 表中选择 fName、lName,其中 authorDetail.id=comment.authorId 得到
【解决方案2】:

如果我是你,我会在一个 Ajax 调用中获取所有内容,而不是执行另一个 Ajax 调用。

如果您想要多个 Ajax 调用,您可以执行以下操作。

    function fetchComments(commentOnId, commentOn){
        if(!isNaN(commentOnId) && commentOnId >=0){
            $.ajax({
                type: 'POST',
                dataType: "json",
                url: 'get_comments.php',
                data: 'commentOnId='+commentOnId+'&commentOn=blogArticle',
                success: function(data){
                    $.ajax({
                        type :'post',
                        url : 'get_auth_details.php',
                        data : 'authorId=' + data.authorId,
                        success : function(data) {
                            Update div logic goes here
                        }
                    }
               },
               error: function(){
               }
           }); 
       }
   }

【讨论】:

  • 谢谢。请问如何在单个 ajax 调用中完成此任务?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
  • 2016-01-20
  • 1970-01-01
  • 2014-07-24
相关资源
最近更新 更多