2015-11-17 3 views
-3

Как заголовок, я использую .done в своем коде, но он не работает.Как использовать .done jquery

get_widget_content('advanced_search').done(function(alert(1))); 

function get_widget_content(widget) { 
    $.ajax({ 
    type: "POST", 
    url: baseUrl + 'task/widget_content', 
    data: "task_id=" + taskId + "&project_id=" + proId + "&widget=" + widget + "&tp_id=" + tpId, 
    success: function(data) { 
     $('#' + widget).html(data); 
    } 
    }); 
    return false; 
} 

и когда я убегаю. Браузер сказал. Не работает.

+0

Используйте этот '$ .ajax ({}) сделано();' – Alex

ответ

3

Посмотрите на то, что ваша функция возвращает:

function get_widget_content(widget) { 
    // ... 
    return false; 
} 

Затем вы пытаетесь вызвать .done() возвращаемого значения:

get_widget_content('advanced_search').done(function(alert(1))); 

false - логическое значение. Он не имеет функции .done().

Либо позвонить done() на вызов AJAX:

function get_widget_content(widget) { 
    $.ajax({ /* ... */ }).done(function() { /* ... */ }); 
    return false; 
} 

или обратный вызов AJAX, а затем вы можете вызвать .done() на возвращаемое значение:

get_widget_content('advanced_search').done(function() { /* ... */ })); 
function get_widget_content(widget) { 
    return $.ajax({ /* ... */ }); 
} 

Также: примечание опечатка в как вы это называли. У вас было следующее:

function(alert(1)) 

который является ошибкой синтаксиса. Оно должно быть таким:

function(){alert(1);} 
+0

Спасибо так много Давида.. У меня есть путаница, когда я вызываю предупреждение. Однако, спасибо за вашу помощь. мое дело было решено. Хорошо тебе провести время – thanhoangxuannghiep

0

изменения этого

get_widget_content('advanced_search').done(function(){alert(1)}); 
    function get_widget_content(widget){ 
     $.ajax({ 
       type: "POST", 
       url : baseUrl+'task/widget_content', 
       data: "task_id=" + taskId + "&project_id=" + proId + "&widget=" + widget + "&tp_id=" + tpId, 
       success: function(data){ $('#'+widget).html(data); } 
      }); 
     return false; 
    } 
0

Попробуйте это:

get_widget_content('advanced_search'); 
    function get_widget_content(widget){ 
      $.ajax({ 
          type: "POST", 
          url : baseUrl+'task/widget_content', 
          data: "task_id=" + taskId + "&project_id=" + proId + "&widget=" + widget + "&tp_id=" + tpId, 
          success: function(data){ $('#'+widget).html(data); } 
      }).done(function(alert(1))); 
      return false; 
    } 
Смежные вопросы