var params = {};
params.mileVno =encodeURI($("#search_vno").val().trim());
params.startIndex = startIndex;
params.page = PAGE_PARAM.curPage;
params.pageSize = PAGE_PARAM.pageSize;
$.ajax({
type : "get",
url : "/mvc/statement/mile/list"
+"?ts="+new Date().getTime(),
dataType : "json",
contentType:'application/json;charset=UTF-8',
data : params
}).done(function(result){
//do Something
}).fail(function(){
$.showAlert("网络繁忙,请稍后再试!", "确定");
});
这里面使用了get由于出现了乱码,因此就强制加了contentType字段硬编码为UTF-8
然后在后台处理的地方再解码,下面以springmvc的controller的形式展示。
@RequestMapping("/statement/mile/list")
public @ResponseBody
ExecuteResult listMile(@RequestParam(value = "mileVno", required = false) String mileVno,@RequestParam(value = "startIndex", required = false) String startIndex,
@RequestParam(value = "page", required = false) String page,@RequestParam(value = "pageSize", required = false) String pageSize) {
ExecuteResult eResult;
try {
mileVno= URLDecoder.decode(mileVno,"UTF-8");
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(VmMile.class);
if (StringUtil.isNotBlank(mileVno)) {
detachedCriteria.add(Restrictions.like("mileVno", "%"+mileVno+"%"));
}
detachedCriteria.addOrder(Order.desc("mileId"));
pageList = baseService.findPageByCriteria(detachedCriteria, Integer.parseInt(pageSize), Integer.parseInt(startIndex));
eResult = new ExecuteResult(true, CommonConst.SUCCESS_DESC, pageList);
} catch (Exception e) {
LOG.error("list statement mile info error--->>>", e);
eResult = new ExecuteResult(false, CommonConst.ERR_DESC);
}
return eResult;
}