ajax向后台发送请求时,可以通过data提交参数,data的数据格式有三种格式:
1)data:{
k1:v1,
k2:v2,
....
}
*劣势:只能向后台提交一个参数名对应一个参数值的数据,
不能向后台提交一个参数名对应多个参数值的数据。
只能向后台提交字符串数据
优势:操作简单
2)data:k1=v1&k2:v2&....
*优势:不但能够向后台提交一个参数名对应一个参数值的数据,
还能向后台提交一个参数名对应多个参数值的数据。
劣势:操作麻烦
只能向后台提交字符串数据
/*
下面代码的功能就是一个删除按钮的功能,是一个table表格,每一列前面都有一个单选框,选中要删除的单选框后可以做到批量删除数据.这里批量删除数据就是id是多个的.id参数名是一样的,通过本文介绍的第一种方式是不行的,因为后面的id会覆盖前面的id.
*/
//给"删除"按钮添加单击事件
$("#deleteActivityBtn").click(function () {
//收集参数
//获取列表中所有被选中的checkbox
var chekkedIds=$("#tBody input[type='checkbox']:checked");
if(chekkedIds.size()==0){
alert("请选择要删除的市场活动");
return;
}
if(window.confirm("确定删除吗?")){
var ids="";
$.each(chekkedIds,function () {//id=xxxx&id=xxx&.....&id=xxx&
ids+="id="+this.value+"&";
});
ids=ids.substr(0,ids.length-1);//id=xxxx&id=xxx&.....&id=xxx
//发送请求
$.ajax({
url:'workbench/activity/deleteActivityIds.do',
data:ids,
type:'post',
dataType:'json',
success:function (data) {
if(data.code=="1"){
//刷新市场活动列表,显示第一页数据,保持每页显示条数不变
queryActivityByConditionForPage(1,$("#demo_pag1").bs_pagination('getOption', 'rowsPerPage'));
}else{
//提示信息
alert(data.message);
}
}
});
}
});
3)data:FormData对象
优势:不但能提交字符串数据,
还能提交二进制数据
劣势:操作更复杂