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

时间:2017-07-13 19:27:28

标签: javascript jquery ajax

function getUsers()
{
    $.post("/admin/getusers",
    {
        username: username_input.val()
    }, showUsers(data));
}

错误:未捕获的ReferenceError:数据未在getUsers中定义

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

2 个答案:

答案 0 :(得分:1)

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

function callback(data) { /* data is available here */ }

您可以将此函数定义作为回调参数传递:

 $.post("/admin/getusers", ...,  function callback(data) { /* data is available here */ });

然后在函数体内调用showUsers,在收到响应后调用函数时data可用:

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

或者缩短它,ES6-y:

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

答案 1 :(得分:1)

看起来showUsers 你的成功函数,所以只需将其传递给:

$.post("/admin/getusers", {
  username: username_input.val()
}, showUsers);