Как получить массив объектов из хранилища в extjs 4.2 и отправить его на сервер?
Привет всем,
Я использую сетку данных Extjs 4.2, и у меня есть требование конвертировать мой "магазин" в json-массив и отправлять его на сервер (например, java).
Это моя модель.
Ext.define('Writer.Document',{
extend: 'Ext.data.Model',
fields: ['id', 'name', 'notes', 'Type', 'date']
});
и мой магазин (содержащий список объектов)
var store = Ext.create('Ext.data.Store', {
model: 'Writer.Document',
autoLoad: true,
proxy: {
type: 'ajax',
url : 'findPatientRecordAction',
reader: {
type: 'json',
successProperty: 'success',
root: 'prognosis',
messageProperty: 'message'
}
fields: ['id','name', 'date', 'notes' , 'Type'],
},
});
Итак, при отправке значений в сетке за один раз мне нужен объект ist на моей стороне сервера. Поэтому мне нужно отправить JSON Array с клиентской стороны.
Может ли кто-нибудь помочь мне здесь, как сделать объект JSONArray из моего магазина и отправить на сервер????
С уважением: Dev
Ответы
Ответ 1
Вот простой пример того, как делать то, что вы хотите:
function sendGridData(){
var sendDataArray = [];
store.each(function(record){
var recordArray = [
record.get("id"),
record.get("name"),
record.get("date"),
record.get("notes"),
record.get("Type")
];
sendDataArray.push(recordArray);
});
Ext.Ajax.request({
url: "your_url_here.jsp",
success: function(response, opts){
//?
},
failure: function(response, opts) {
alert("server-side failure with status code " + response.status);
},
params: {
grid_data: Ext.encode(sendDataArray);
}
});
}