关于Extjs从前端传值到后台格式问题
Ext.apply(store.proxy.extraParams, {startTime:searchStartTime});
Ext.apply(store.proxy.extraParams, {endTime:searchEndTime});
上面的代码传到后台时格式为
“2018-01-05T00:00:00”
多了一个T,和数据库的格式不一致,会导致出现400错误。
可以在传值的时候将格式修改成和数据库一样的格式,如:
Ext.apply(store.proxy.extraParams, {startTime: Ext.Date.format(new Date(searchStartTime),'Y/m/d H:i:s')});
Ext.apply(store.proxy.extraParams, {endTime:Ext.Date.format(new Date(searchEndTime),'Y/m/d H:i:s')});
这样在传值时格式是
“2018/01/05 00:00:00”
就可以解决格式不一致的问题了。
但会产生另一个问题,当你不传值的时候,它会自动传初始时间“1970/01/01 00:00:00”,所以还要修改一下
Ext.apply(store.proxy.extraParams, {
startTime:Ext.util.Format.date(this.lookupReference('startTime').getValue(), 'Y/m/d H:i:s'),
endTime:Ext.util.Format.date(this.lookupReference('endTime').getValue(), 'Y/m/d H:i:s')
});
即不重新new一个时间,而是去获得从前台传过来的时间