簡體   English   中英

如何將extjs數據從表單發布到服務器?

[英]How to post extjs data from form to server?

我已經了解了如何從服務器到應用程序獲取數據。 現在我面臨着POST任務。 我有表單,並希望通過單擊按鈕將字段數據發布到服務器。

我試圖用這個:

{//some controllercode

          xtype: 'button'  
          text: 'save',
          ui: 'confirm',
          scope: this,
          handler: function() {
              Ext.Ajax.request({
                  url:'/api/renter/',
                  method: 'POST',
                  params: {
                      ReplaceAllRefs: true
                  }
              })

              }
          }

Ext.Ajax的參數定義了將通過url發布到服務器的數據? 我可以將此類用於POST任務,還是不是最好的方法?

如果要發布表單數據,可以使用form.submit方法代替Ext.ajax ..

 var form  = your_form_panel.getForm();
 if(form.isValid()){ //isValid() will validate all your form fields 
      form.submit({
            url : '/api/renter/',
            params: params,    //additional parameters can be send in object
            success: function(form, o){

            },
            failure: function(form, o){

            }
      });
 }

看看Ext.Ajax.request的ExtJs文檔中的jsonData選項。

jsonData:對象/字符串

用作發布的JSON數據。 注意:這將用於代替post數據的參數。
任何參數都將附加到URL。

所以您的Ajax請求應該看起來像

Ext.Ajax.request({
    url:'/api/renter/',
    method: 'POST',
    jsonData: {
        ReplaceAllRefs: true
    }
});

當您想提交GET和POST數據時,可以使用paramsjsonData

Ext.Ajax.request({
    url:'/api/renter/',
    method: 'POST',
    params: {
        someGetParam: 'value'
    },
    jsonData: {
        ReplaceAllRefs: true
    }
});

最后,我使用了以下代碼塊:

 { text: 'save', ui: 'confirm', handler: function() { var dataup3 = this.up().items.items[0]; //get form's fields level var dataSet3 = dataup.getValues(); Ext.Ajax.request({ url:'/api/cutarea/', method: 'POST', params: dataSet3 }) } } 
感謝您的回答!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM