2015-05-07 5 views
0

У меня есть вопрос о $.getJSON функция в jQuery. Вопрос в том, как назвать функцию $.getJSON и вызвать ее из другой функции. Я имею в виду, когда другая функция делает все, на успех вызывают функцию $.getJSON. Это часть Rest Framework, где эта функция GET возникает из Rest Framework url.Django jQuery Rest Framework

JQuery

Первая функция для разбора Rest Framework:

$.getJSON('/category_1/', function (data, textStatus, jqXHR) { 

     var table = $(".category_product"); 

     $.each(data, function (index, value) { 

//console.log(data); 
      var name = value.name; 
      var type_id = value.type_id; 

      var tr = $("<tr></tr>"); 
      table.append(tr); 

      var td = $("<td>" + name + "</td>"); 
      tr.append(td); 


      var td = $("<td>" + type_id + "</td>"); 
      tr.append(td); 

      var td = $("<td>" + '<img id="nodeGoto1" class="img-responsive;" src="../static/izibizi/images/forms/icon_delete.png">' + "</td>"); 
      tr.append(td); 
     }) 

     $('#data_table_category_products').dataTable({ 
       "dom": '<"top"fi>rt<"bottom"lp><"clear">', 
       'bLengthChange': false, 
       "bFilter": false 
      } 
     ) 
     $('.dataTables_filter input').attr("placeholder", "Pretraži Kategorije"); 
     /*Set custom placeholder to element*/ 

    }); 

Ok эта функция работает нормально, и все результаты REST разобраны на HTML-странице.

JQuery

Вторая функция, где функция завершения заполнения формы, и на succuess он должен вызвать первую функцию для retrive новых результатов Rest Framework.

$('#category').on('submit', function(){ 
    var $form = $(this); 
    $.ajax({ 
     type: "POST", 
     url: "/kategorije/", 
     data: $form.serialize(), 
     dataType: "json", 
     required: true, 
     success: function(response) { 

      if (!response.success) { 
       console.log(response.error.name); 
       $.niftyNoty({ 
       type: 'info', 
       container : '#alertajme', 
       html : '<h4 class="alert-title">Kategorija sa nazivom <strong>'+response.error.name+'</strong> već postoji!</h4><p class="alert-message">Promjenite naziv kategorije.</p><div class="mar-top"><button type="button" class="btn btn-info" data-dismiss="noty">Zatvorite notifikaciju</button></div>', 
       closeBtn : false, 
       timer : 5000 
      }); 
      } else { 
       $.niftyNoty({ 
       type: 'info', 
       container : '#alertajme', 
       html : '<h4 class="alert-title">Kategorija sa nazivom <strong>'+response.success+'</strong> uspješno je kreirana!</h4><div class="mar-top"><button type="button" class="btn btn-info" data-dismiss="noty">Zatvorite notifikaciju</button></div>', 
       closeBtn : false, 
       timer : 5000 
      }); 

      } 
     }, 
     error: function(rs, e) { 
      $.niftyNoty({ 
       type: 'info', 
       container : '#alertajme', 
       html : '<h4 class="alert-title">Kategorija sa nazivom <strong>'+"Unesite naziv kategorije."+'</strong></h4><p class="alert-message">Promjenite naziv kategorije.</p><div class="mar-top"><button type="button" class="btn btn-info" data-dismiss="noty">Zatvorite notifikaciju</button></div>', 
       closeBtn : false, 
       timer : 5000 
      }); 
      return false; 
     } 
    }); 
    return false; 
}); 

Эта функция должна вызывать первую функцию для новых результатов в форме submit. Функция «Отдых» обновляется в # views.py при отправке формы. Как это может быть сделано.

ответ

1

Так что скажем, что ваша первая функция BLOCK_ONE.
Теперь можно определить другую функцию как
function myGetJSON(){ BLOCK_ONE }

Таким образом, вы можете позвонить BLOCK_ONE столько раз, сколько вы хотите.