PDA

View Full Version : Is it necessary to encode dates for ajax posts to .net handlers?



dr-dan
13 Nov 2012, 12:25 PM
In essence i am having to override the save method of a model, because when using the proxy (via save()), dates are sent in the format MS enjoys when serializing into JSON. (i.e. ticks since 1970), due to me specifying the field as an MS date.

But, when posting back, they decided they don't particularly like dates in this format, so the date doesn't get read into my view, it needs formatting first into y-m-d format.

The only way round it, is to encode the json and do a bog standard ajax call (having overridden the encoding for dates in my app):


Ext.JSON.encodeDate = function (d) {
return Ext.Date.format(d, '"Y-m-d"');
};


and


saveRecord: function () {
var me = this;
var data = me.getData(false);
Ext.Ajax.request({
scope: me,
url: "/wex",
method: "POST",
jsonData: Ext.encode(data)
});
}


Not ideal really...

vietits
13 Nov 2012, 6:50 PM
Do you mean that the date formats for the reading and updating will be different? In that case, you can use field serialize.


fields: [{
name: 'fieldName',
type: 'date',
dateFormat: 'MS', // format for reading
serialize: function(value){
return Ext.Date.format(value, 'Y-m-d');
}
},{
...
}]

dr-dan
14 Nov 2012, 12:39 AM
Ah just what I was looking for.

Thanks