2012-12-25 13 views
0

我想我店裏的請求負載是這樣的:如何創建存儲編碼的默認PARAMS到JSON,而不是HTTP參數

Ext.Ajax.request({ 
     url : 'bank/admin/listUsers', 
     jsonData: request, 
     success : function(response, options) { 
      console.log('Response:', response); 
      console.log('Options:', options); 
      var reply = Ext.decode(response.responseText); 
      console.log('Reply:', reply); 
     } 
    }); 

{"start":0,"limit":10,"sort":"BIRTH_PLACE","dir":"ASC"} 
與Ajax請求使用jsonData它的工作原理

但寬度商店我的請求有效載荷看起來像這樣:

start=0&limit=10&sort=username&dir=ASC 
+0

在您的商店的定義使用[* JSON作家*](http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.writer.Json) 。 – Yoshi

+0

我試過,但現在在帖子中,我看到的參數(啓動,限制,排序NAD DIR)的形式爲數據: 表單數據: 開始:0 限制:10 排序:用戶名 DIR:ASC xaction:讀取 – jannagy02

+1

Extjs allways將這些值作爲查詢參數發送。如果你想改變這種行爲,你可能必須寫自己的作家和/或代理人。 – Yoshi

回答

0

我發現這樣的東西工作。只需讓您的商店的代理填入jsonData財產,其內容爲params

Ext.define('MyProxy', { 
    alias: 'myproxy', 
    extend: 'Ext.data.proxy.Ajax', 

    getMethod: function(request) 
    { 
     return 'POST'; 
    }, 

    buildRequest: function(operation) 
    { 
     var request = this.callParent(arguments); 
     request.jsonData = request.params; 
     request.params = {}; 
     return request; 
    }, 
}); 
相關問題