2011-09-06 71 views
5

我試圖用POST請求調用API。但我的Chrome檢查顯示我method='GET'在網絡標籤...ExtJS 4 - JsonStore + Post請求的問題

這裏是我的代碼:

Ext.define('TestItem', { 
     extend: 'Ext.data.Model', 
     fields: [ 
      {name: 'id', type: 'int'}, 
      {name: 'name', type: 'string'} 
    ] 
    }); 

    var testStore = Ext.create('Ext.data.JsonStore', { 
     model: 'TestItem', 
     autoLoad: true, 
     proxy: { 
      type: 'ajax', 
      url : '../path_to/api/', 
      method : 'POST', 
      reader: { 
       type: 'json', 
       root: 'data', 
       totalProperty: 'total' 
      } 
     }, 
     baseParams: { 
      operation:'showall' 
     } 
    }); 

所以Ø想打電話與method='POST' API和參數operation = showall

的谷歌督察節目我在網絡選項卡中輸入以下信息:

GET ../path_to/api/?_dc=1315297478131&page=1&start=0&limit=25 HTTP/1.1 

爲什麼它是GET請求?

爲什麼會有限制,啓動和直流等參數?

我已經試過1000個教程,並搜索了整個晚上。

+1

可能重複[extjs4店就將此得到的網址參數(http://stackoverflow.com/questions/6925081/extjs4-store-addes-get-params-in-the-url/6926857#6926857 ) –

回答

17

在extjs4方法:POST不起作用。在extjs4中,任何讀取都是通過GET發送的,任何寫入(POST,PUT,DELETE)都是通過POST發送的。要覆蓋這個請參閱actionMethods。

type: 'ajax', 
actionMethods: { 
    create : 'POST', 
    read : 'POST', 
    update : 'POST', 
    destroy: 'POST' 
} 
+0

是的,非常感謝! – M00ly

+0

但我該如何設置請求體? – Isaac

+0

+1爲答案。 –