如何使用.donejquery

How can use .done jquery

本文关键字:donejquery 何使用      更新时间:2023-09-26

作为标题,我在代码中使用了.done,但它不起作用。

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

当我跑步的时候。浏览器说.完成是不起作用的。

查看函数返回的内容:

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

然后尝试对返回的值调用.done()

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

false是一个布尔值。它没有.done()功能。

在AJAX调用上调用done()

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

更改到此

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

试试这个:

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