Ext.ajax.request是ExtJS中用于發起Ajax請求的主要方法,該方法可以通過傳遞一個配置對象來定制請求。其中,json數據是最常用的請求格式之一,因為json數據的格式靈活且易于處理。
Ext.ajax.request({ url: 'http://example.com', method: 'POST', jsonData: { name: 'John Doe', age: 28 }, success: function(response) { console.log(response.responseText); }, failure: function(response) { console.error(response.status); } });
在以上代碼中,我們可以看到,我們使用了一些常見的請求參數,如url、method、success和failure等。但是,關鍵在于jsonData屬性,該屬性用于傳遞一個json對象作為請求體。當我們傳遞json數據時,ExtJS會自動將其序列化為字符串格式,并設置Content-Type頭為"application/json;charset=utf-8"。
當服務器接收到這樣的請求時,可以根據Content-Type頭來判斷請求的格式,并使用相應的解析器來處理數據。比如,對于Node.js服務器來說,我們可以使用body-parser模塊來解析json數據:
const bodyParser = require('body-parser'); app.use(bodyParser.json()); app.post('/', function(req, res) { console.log(req.body.name); // 'John Doe' console.log(req.body.age); // 28 res.send('success'); });
在服務器端,我們通過使用body-parser中的json()方法來解析客戶端發送的json請求,并使用req.body來獲取請求中的數據。這樣,我們就可以得到與客戶端發送的數據格式相同的json對象,方便我們進行處理。