2012-06-22 45 views
1

提交我想用Ext.Direct和IAM以下所有在場的文檔中的準則仍然即時得到這個奇怪的錯誤ExtJS的形式使用Ext.DIrect

Error: Ext.data.Connection.setOptions(): No URL specified 

這是JavaScript代碼提交表單我表格

Ext.define('LOGIN.view.SignIn', { 
    extend: 'Ext.form.Panel', 
    alias: 'widget.signin', 
    title: 'Sign-In', 
    items: [{ 
     xtype: 'textfield', 
     name: 'UserName', 
     fieldLabel: 'UserName', 
     allowBlank: 'false' 
    }, { 
     xtype: 'textfield', 
     name: 'Password', 
     fieldLabel: 'Password', 
     allowBlank: 'false', 
     inputType: 'password' 
    }], 
    buttons: [{ 
     text: 'Sign-In', 
     handler: function() { 
      this.up('form').getForm().submit({}); 
     } 
    }, { 
     text: 'Sign-Up -->', 
     disabled: true, 
     handler: function() { 
      this.up('#LoginPanel').getLayout().setActiveItem(1); 
     } 
    }], 
    api: { 
     submit: LogIn.SignIn 
    } 
}) 

我應該改變什麼?

回答

2

我找到了挖掘框架的答案。
我需要使用下面的代碼,並在構造函數中定義的API,因爲我想這個特殊intialConfig不會自動採取

下面是代碼

Ext.define('LOGIN.view.SignIn', { 
    extend: 'Ext.form.Panel', 
    alias: 'widget.signin', 
    title: 'Sign-In', 
    constructor: function (config) { 
     Ext.applyIf(config, { 
      // defaults for configs that should be passed along to the Basic form constructor go here 
      api: { 
       submit:LogIn.SignIn 
      } 
     }); 
     this.callParent(arguments); 
    }, 
    items: [{ 
     xtype: 'textfield', 
     name: 'UserName', 
     fieldLabel: 'UserName', 
     allowBlank: 'false' 
    }, { 
     xtype: 'textfield', 
     name: 'Password', 
     fieldLabel: 'Password', 
     allowBlank: 'false', 
     inputType: 'password' 
    }], 
    buttons: [{ 
     text: 'Sign-In', 
     handler: function() { 
      this.up('form').getForm().submit(); 
     } 
    }, 
     { 
      text: 'Sign-Up -->', 
      disabled: true, 
      handler: function() { 
       this.up('#LoginPanel').getLayout().setActiveItem(1); 
      } 
     }] 
}) 
0

一件事看出來這裏。

如果您正在使用extdirectspring你將需要與註釋您的服務器端方法:

@ExtDirectMethod(ExtDirectMethodType.FORM_POST) 
public ExtDirectFormPostResult doStuff(AddAttachmentRequest request) 
{ 
    return null; 
} 

這也是強制使用ExtDirectFormPostResult以及。如果你不這樣做就不會工作。

如果使用正常的extdirect方法,則不會發送文件數據。

它也像你需要在另一端類型爲MultipartFile比如像:

public class AddAttachmentRequest { 

    private long id; 
    private MultipartFile file; 

    public long getId() { 
     return id; 
    } 

    public void setId(long id) { 
     this.id = id; 
    } 

    public MultipartFile getFile() { 
     return file; 
    } 

    public void setFile(MultipartFile file) { 
     this.file = file; 
    } 
}