2011-09-06 8 views
5

私はPOSTリクエストでAPIを呼び出そうとしています。私のクロムインスペクタが私を示していますが、ネットワークタブで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' 
     } 
    }); 

ので、Oはmethod='POST'とAPIとパラメータoperation = showall

Googleのインスペクタショーを呼び出したいですネットワークタブの私には以下の情報が表示されます:

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

なぜGETリクエストですか?

なぜlimit、start、dcのようなパラメータがありますか?

私は既に1000のチュートリアルを試して、一晩中グーグルグーグルで探そうとしました。

+1

可能複製([extjs4店addesがURLでのparamsを取得] 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です。 –

関連する問題