2016-10-06 6 views
0

Я пытаюсь использовать load() для загрузки двух divs #follow-x и #follow-y ajaxly одним нажатием кнопки. Это то, что я пробовал в функции success, но не работает , но работает, если удалить один из функции, поэтому он загружает только один DIV, но я хочу, чтобы загрузить both.Thanks заранееЗагрузите два div с одним вызовом AJAX

$('#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> 

Dont ум тегах {} Я использую Django

+0

Почему есть две отдельные функции? Почему бы просто не «$ (« # follow-x »). Load (...); $ ('# Последующая у') нагрузки (...);. '? –

+0

Синтаксис вашего кода выглядит неправильно. главным образом, закрытие '}' на вашем первом загрузке и случайная неназванная и невостребованная функция() {'wrapping your second .load. однако, конечно, было бы лучше просто использовать $ .ajax, затем извлечь два div из ответа, а не отправить два и сделать то же самое для каждого. –

ответ

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"); 
        } 

       }); 
     }); 
+0

Это сработало.Спасибо –

-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> 
-1

Успех является свойством объекта, переданного в 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

Смежные вопросы