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 为$.post ajax请求定义自定义句柄函数_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 为$.post ajax请求定义自定义句柄函数

Javascript 为$.post ajax请求定义自定义句柄函数,javascript,jquery,ajax,Javascript,Jquery,Ajax,错误:未捕获引用错误:getUsers未定义数据 如何为ajax请求指定自定义回调函数?数据应该是回调函数定义中的参数,而不是函数调用中用作参数的变量: function getUsers() { $.post("/admin/getusers", { username: username_input.val() }, showUsers(data)); } 您可以将此函数定义作为回调参数传递: function callback(data) { /*

错误:未捕获引用错误:getUsers未定义数据


如何为ajax请求指定自定义回调函数?

数据应该是回调函数定义中的参数,而不是函数调用中用作参数的变量:

function getUsers()
{
    $.post("/admin/getusers",
    {
        username: username_input.val()
    }, showUsers(data));
}
您可以将此函数定义作为回调参数传递:

function callback(data) { /* data is available here */ }
然后在函数体内部调用您的
showUsers
,在收到响应后调用函数时,
data
可用:

 $.post("/admin/getusers", ...,  function callback(data) { /* data is available here */ });
或者缩短,ES6-y:

 $.post("/admin/getusers", ...,  function callback(data) { showUsers(data) });

数据
应该是回调函数定义中的参数,而不是函数调用中用作参数的变量:

function getUsers()
{
    $.post("/admin/getusers",
    {
        username: username_input.val()
    }, showUsers(data));
}
您可以将此函数定义作为回调参数传递:

function callback(data) { /* data is available here */ }
然后在函数体内部调用您的
showUsers
,在收到响应后调用函数时,
data
可用:

 $.post("/admin/getusers", ...,  function callback(data) { /* data is available here */ });
或者缩短,ES6-y:

 $.post("/admin/getusers", ...,  function callback(data) { showUsers(data) });
看来showUsers是您的成功功能,因此只需将其作为以下内容传递:

 $.post("/admin/getusers", ...,  data => showUsers(data));
看来showUsers是您的成功功能,因此只需将其作为以下内容传递:

 $.post("/admin/getusers", ...,  data => showUsers(data));

您正在调用函数,而不是向其传递参数。。。用
function(data){…}
包装它,看起来showUsers就是成功的函数。So
$.post(url、obj、showUsers)@James omg,我怎么会错过呢。让它成为一个答案,这样我就可以接受你调用函数而不是传递一个参数。。。用
function(data){…}
包装它,看起来showUsers就是成功的函数。So
$.post(url、obj、showUsers)@James omg,我怎么会错过呢。回答这个问题,这样我就可以接受更短的itOr:
$.post(“/admin/getusers,…,showUsers”)谢谢您的解释,但正如@James上面提到的,解决我的问题更方便的方法是只传递函数名作为参数。无论如何谢谢你!是的,如果函数签名匹配,而您不关心“this”,那么这就行了。或者更简短一些:
$.post(“/admin/getusers”,…,showUsers)谢谢您的解释,但正如@James上面提到的,解决我的问题更方便的方法是只传递函数名作为参数。无论如何谢谢你!是的,如果函数签名匹配,而您不关心“this”,那么这就行了。Nit:
showUsers
不被调用(也不应该被调用)。它应该传递给
$.post
,以便
$.post
可以调用它。@FelixKling足够公平:)@FelixKling我认为这是一个打字错误)Nit:
showUsers
没有被调用(也不应该被调用)。它应该传递给
$.post
,以便
$.post
可以调用它。@FelixKling足够公平:)@FelixKling我认为这是一个打字错误)