我对javascript中的函数参数有点困惑

时间:2014-12-06 16:12:52

标签: javascript extjs

我在ext js中有以下代码

   form.submit({
                success: function(form, action) {
                   Ext.Msg.alert('Success', action.result.message);
                },
                failure: function(form, action) {
                    Ext.Msg.alert('Failed', action.result ? action.result.message : 'No response');
                }

提交就像一个以两个参数为参数的函数或者我对它的理解是不正确的?

2 个答案:

答案 0 :(得分:7)

  

是lyk submit是一个以两个参数为参数的函数   或者我对它的理解不正确

没有。 submit是一个接受Object作为参数的函数,该参数可能包含successfailure方法。

将在此伪代码

中调用它
function submit(obj) {
    if (some condition) {
        obj.success();
    } else obj.failure();
}

答案 1 :(得分:1)

正如amit joki告诉它只是一个伪代码,如果你真的想知道你可以探索Ext.form.Panel类的代码。

它基本上会向您在表单面板配置中指定的URL发送ajax请求 如果调用成功,将调用成功函数,否则将调用失败函数

比方说,我有一个表格Objec:

var form = Ext.create('Ext.form.Panel', {
    url: 'addProduct.jsp'
    ..
});

form.submit({
    success: function(form, action) {
        Ext.Msg.alert('Success', action.result.message);
    },
    failure: function(form, action) {
        Ext.Msg.alert('Failed', action.result ? action.result.message : 'No response');
    }
});

当执行form.submit时,它会在创建表单对象addProduct.jsp时向指定的url发送ajax请求。如果ajax调用成功,则将执行回调函数 将执行失败回调

这里我们已经传递了olny一个参数来提交函数,这是一个对象,它有两个属性成功和失败......这已经被amit joki澄清了