Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用.done jquery_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何使用.done jquery

Javascript 如何使用.done jquery,javascript,jquery,html,Javascript,Jquery,Html,作为标题,我在代码中使用.done,但它不起作用 get_widget_content('advanced_search')。完成(函数(警报(1)); 函数获取小部件内容(小部件){ $.ajax({ 类型:“POST”, url:baseUrl+“任务/小部件内容”, 数据:“任务id=“+taskId+”&项目id=“+proId+”&小部件=“+widget+”&小部件id=“+tpId), 成功:功能(数据){ $('#'+widget).html(数据); } }); 返回false

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

get_widget_content('advanced_search')。完成(函数(警报(1));
函数获取小部件内容(小部件){
$.ajax({
类型:“POST”,
url:baseUrl+“任务/小部件内容”,
数据:“任务id=“+taskId+”&项目id=“+proId+”&小部件=“+widget+”&小部件id=“+tpId),
成功:功能(数据){
$('#'+widget).html(数据);
}
});
返回false;
}
当我跑的时候。浏览器说。完成不起作用。

更改为此

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

查看函数返回的内容:

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

使用此
$.ajax({}).done()