简体   繁体   English

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

[英]Define custom handle function for $.post ajax request

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

ERROR: Uncaught ReferenceError: data is not defined at getUsers 错误: 未捕获ReferenceError:在getUsers上未定义数据

How can i specify custom callback function for ajax request? 如何为ajax请求指定自定义回调函数?

data should be an argument in a callback function definition, not a variable that you use as a parameter in a function invocation: data应该是回调函数定义中的参数,而不是用作函数调用中的参数的变量:

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

You can pass this function definition as your callback argument: 您可以将此函数定义作为回调参数传递:

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

And then call your showUsers inside the function body, where data is available when the function gets called after the response is received: 然后在函数主体中调用showUsers ,在接收响应后调用函数时, data可用:

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

Or to make it shorter, and ES6-y: 或更短一些,ES6-y:

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

It looks like showUsers is your success function, so simply pass it as: 看起来showUsers 您的成功函数,因此只需将其传递为:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM