微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何将多个参数传递给Prototype中的onSuccess函数?

我是使用Prototype库的初学者.我想知道如何将多个参数传递给Prototype中的onSuccess / onFailure函数
例如:-

new Ajax.Request('testurl',{
        method: 'post',
        parameters: {param1:"A", param2:"B", param3:"C"},
        onSuccess: fnSccs,
        onFailure: fnFail
        })

在我的成功函数fnSccs: –

function fnSccs(response)
{
    alert(response.responseText);
}

我想将一个新参数传递给fnSccs函数.怎么可能.谢谢你的帮助.

解决方法:

您可以将成功函数包装到另一个接收所需参数的函数中,并返回旧函数

new Ajax.Request('testurl',{
                method: 'post',
                parameters: {param1:"A", param2:"B", param3:"C"},
                onSuccess: mySuccess('myValue1', 'myValue2'),
                onFailure: fnFail
                })

function mySuccess(param1, param2){
  return function(response){ // Your old success function
    alert(param1);  // The parameter still accessible here
    alert(param2);
    alert(response);
  }
}

会发生什么事情,当你调用mySuccess(…)时,会返回旧函数,但是你仍然可以访问参数,因为变量仍然在外部closure上分配.

您可以查看正在运行的代码here.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐