2013-10-19 63 views
0

文檔上form.action.Submit.methodhereExtJS的4: 'GET' 與form.submit

代碼:

{ 
     xtype: 'form', 
     items: [ 
      { 
       xtype: 'filefield', 
       name: 'foo_name', 
       buttontext: 'foo_select' 
      }, 
     ], 
     buttons: [{ 
      text: 'Extract', 
      handler: function() { 
       var form = this.up('form').getForm(); 
        if (form.isValid()) { 
         form.submit({ 
          url: 'excel-extraction-service', 
          method: 'GET' 
         }); 
        } 
      } 
     }] 
    } 

服務器日誌:

POST /excel-extraction-service 404 

我試圖使用Excel解析/提取服務在我的服務器上。該服務接受一個excel文件,使用它並返回一個json表示。 GET> POST的原因是GET是一個安全方法並且不應該改變服務器的狀態。

幫助?在此先感謝

編輯:重要的是要注意的是,表格包含一個filefield,因此,上載沒有通過正常的AJAX(文檔here)處理是很重要的。看起來這個過程覆蓋了form.submit配置中的method屬性。

+0

還沒有找到這是爲什麼。煎茶???? – Colin

回答

1

它沒有。這是最新版本的例子。當你在控制檯中看,你會看到它發送一個獲取請求。發佈測試用例。

Ext.require('*'); 

Ext.onReady(function() { 

    var fp = new Ext.form.Panel({ 
     renderTo: document.body, 
     items: [{ 
      xtype: 'textfield', 
      name: 'foo' 
     }] 
    }); 

    fp.getForm().submit({ 
     url: 'foo', 
     method: 'GET' 
    }); 

}); 

小提琴:https://fiddle.sencha.com/#fiddle/12t

+0

見編輯:有我遺漏的關鍵信息 – Colin

+0

那麼,那就解釋一下吧。您無法將文件作爲GET請求發送。 –

+0

對不起,我需要考慮我在問題中包含哪些信息。這是不是能夠發送一個文件作爲一個GET請求只是ExtJS? – Colin