本文描述封装前端ajax post提交函数,在没有返回结果需要处理,只有返回成功或失败提示信息的情况。
适用于修改提交、删除提交等。
1.封装函数 ajaxPostWithoutResult。
/**
* ajax post提交函数,没有返回结果需要处理;例如删除、修改提交等。
* @param data 提交的数据,例如{"ids":id}或$('#ff').serialize()
* @param url 服务url
* @param callBackFun 回调函数,定义好的函数名或function(){...}
*/
function ajaxPostWithoutResult(data,url,callBackFun){
$.ajax({
type: 'post', //可选get
url: url,
data: data,//
dataType: 'json',//服务器返回的数据类型 可选XML ,Json jsonp script html text等
success: function(result){
var message = result.message;
alerts(message);
var status = result.status;
if(status!='-1'){//此处,后台返回-1代表失败
if(callBackFun!=undefined && typeof callBackFun=='function'){
setTimeout(function(){
callBackFun();
},1200);//成功后1.2s回调函数
}
}
},
error: function(){
alerts("系统错误,联系管理员");
}
});
}
2.定义js业务函数。是页面要调用的具体函数,例如删除提交、修改提交等。
function invokePackage(){
var data = $('#ff').serialize();//提交数据。此处提交序列化id为ff的form表单数据,另外提交数据也可以是{"ids":id}这样的数据。
var url = '<%=path%>/sales/invokeSalesPackage';//提交服务url
ajaxPostWithoutResult(data,url,querySubmit);//querySubmit是回调函数,在下面自定义;也可以这样写:function(){alert('1')}
}
3.定义回调函数。
function querySubmit(){
//业务处理,比如刷新页面。
document.divform.action = '<%=path%>/sales/querySalesPackage';
document.divform.submit();
}
4.后台数据处理的服务。
@ResponseBody
@RequestMapping("/invokeSalesPackage")
public Map<String, Object> invokeSalesPackage(String id,HttpSession session){
Map<String, Object> map = new HashMap<>();
id = id==null?"":id.trim();
if(id.isEmpty()){
map.put("status", "-1");//-1失败
map.put("message","id为空");
return map;
}
/**
* 业务处理
* ......
* ......
*/
map.put("status", "1");//1成功
map.put("message", "成功");
return map;
}