Javascript:将参数传递给回调调用的方法

标签 javascript asp.net ajax callback

所以我的表单上有一个保存按钮,它有一个回调函数,该函数会关闭并在尝试保存表单之前检查用户是否仍然经过身份验证,然后此回调调用验证表单的实际保存方法如果我们通过了身份验证,则保存它;如果没有通过身份验证,则弹出登录框。我的问题是这个保存方法需要接受回调的结果(true 或 false)以及一些需要验证的额外参数。

function saveButton_Click(sender, eventArgs, var1, var2, var3)
{
    var authenticated = myCallbackFunction(performSave);
}

function performSave(authenticated, var1, var2, var3)
{
    if (authenticated)
    {
        //do some validation and save
    }
    else
    {
        showLoginWindow();
    }
}

这是我到目前为止得到的代码,它成功执行回调并将结果传递到performSave,但显然它没有传递我的额外变量,所以我的所有验证内容都失败了。我尝试过以下方法:

var authenticated = myCallbackFunction(performSave(authenticated, var1, var2, var3));

但这似乎只会导致回调被跳过并进行身份验证,var1、var2 等始终以未定义的形式出现。那么,如何才能成功地将变量以及回调结果传递给 PerformSave 方法呢?

最佳答案

您可以通过本地函数作用域来实现此目的。

function saveButton_Click(sender, eventArgs, var1, var2, var3)
{
    myCallbackFunction(function(authenticated){
        performSave(authenticated, var1, var2, var3);
    });
}

关于Javascript:将参数传递给回调调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5714557/

相关文章:

javascript - firebase - 对一个对象使用一个引用并推送到它的子数组上

javascript - jQuery Lint 错误是非描述性的

c# - 在 ASP.NET/C# 中将文本附加到标签?

asp.net - 无状态的 asp.net 应用程序和 ViewState

c# - 执行服务器端 XML 处理时出错

ajax - 来自 HTTP/REST 服务的进度通知

javascript - Azure 存储 blob 库将 blob 下载到本地计算机

javascript - 如何使用 nvd3、d3、javascript 错开子弹图

javascript - 如何停止表单提交,直到 onSubmit 调用的 ajax 函数完成

javascript - 等待 ajax 脚本完成然后显示页面