一,后台代码:主要设置响应头的类型为content-type="text/plain",返回json字符串
@ResponseBody
@RequestMapping(value = "/save", produces = "text/plain; charset=utf-8")
public String save(TSafeHiddenDanger sh,MultipartHttpServletRequest multiparts){
try {
TSafeHiddenDanger dan = reportService.findDangerById(sh.getId());
reportService.editSave(dan,multiparts);
return JSON.toJSONString(clientMap().success().message("保存成功").map());
} catch (Exception e) {
LOG.error("保存失败!", e);
return JSON.toJSONString(clientMap().failure().message("保存失败!!").map());
}
}
,二,前台代码设置dataType为text。
var ajaxFormOption = {
type:'post', //提交方式
dataType: "text", //数据类型
data: $("#form-report"),//自定义数据参数,视情况添加
url: "${basePath}report/save", //请求url
success: function (data) { //提交成功的回调函数
json = JSON.parse(data);//将json串转json对象
layer.alert(json.message);
if(json.success == true){
layer.confirm(json.message, {
btn: ['确定'],
shade: false,
closeBtn: 0
},
function(){
parent.location.replace(parent.location.href);
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
);
}
}
};
$("#form-report").ajaxForm(ajaxFormOption);