使用单个AJAX调用加载两个div

时间:2016-10-06 15:42:40

标签: javascript jquery ajax django

我正在尝试使用load()通过单击按钮来加载两个div #follow-x#follow-y ajaxly。这是我在success函数中尝试过的,但是不起作用,但如果我删除其中一个函数,则有效,所以它只加载一个div,但我希望它加载它们。谢谢提前

$('#follow').click(function(){

          $.ajax({

                   type: "POST",
                   url: "{% url 'follow_class' %}",
                   data: {'pk': '{{class.pk}}' , 'csrfmiddlewaretoken': '{{ csrf_token }}'},
                   dataType: "json",
                   success: function(){
                       $('#follow-x').load("{% url 'class_details' %} #follow-x");}
                       function(){
                       $('#follow-y').load("{% url 'class_details' %} #follow-y");}

              }); 
        });
</script>

不介意标签{}我正在使用Django

3 个答案:

答案 0 :(得分:1)

仅在success

上调用第一个函数

将两个陈述放在一个函数中

$('#follow').click(function(){

          $.ajax({

                   type: "POST",
                   url: "{% url 'follow_class' %}",
                   data: {'pk': '{{class.pk}}' , 'csrfmiddlewaretoken': '{{ csrf_token }}'},
                   dataType: "json",
                   success: function(){
                       $('#follow-x').load("{% url 'class_details' %} #follow-x");                        
                       $('#follow-y').load("{% url 'class_details' %} #follow-y");
                    }

              }); 
        });

答案 1 :(得分:-1)

你的第二次加载调用是另一个永远不会被调用的函数

$('#follow').click(function(){

          $.ajax({

                   type: "POST",
                   url: "{% url 'follow_class' %}",
                   data: {'pk': '{{class.pk}}' , 'csrfmiddlewaretoken': '{{ csrf_token }}'},
                   dataType: "json",
                   success: function(){
                       $('#follow-x').load("{% url 'class_details' %} #follow-x");
                       $('#follow-y').load("{% url 'class_details' %} #follow-y");
                   }

              }); 
        });
</script>

答案 2 :(得分:-1)

Success是传递给AJAX的对象的属性。在您的代码中,您尝试将其分配给包含follow-x代码的函数,但是由于下一个违反obj结构的函数语句而产生语法错误。试试这个。

success: function(){
     $('#follow-x').load("{% url 'class_details' %} #follow-x");
     $('#follow-y').load("{% url 'class_details' %} #follow-y");
}

还要考虑使用完成回调而不是成功。有关此问题的更多信息what is difference between success and .done() method of $.ajax