我想实现一个checkbox选中文本框批量删除的效果,于是用jq的post方法提交数据到php后台,后台在处理删除操作之后,想用重定向功能显示删除成功的页面,结果发现页面不会动,刷新一下表单里面的数据才会改变。请问我是哪里写错了吗,还是不能再php后台执行重定向功能,如果不是得话,需要怎样操作才能在批量删除成功后刷新一下前台的内容呢?
js:`function batchDelete() {
if (select() == "delete") {
obj = document.getElementsByName("check");
var check_val = "";
for (k in obj) {
if (obj[k].checked)
check_val += obj[k].value + " ";
}
//无法传递数组类型,所以拆违string 传递
$.post("{:U('batchDelete')}",
{data: check_val}/*,
function (data) {
alert("后台结果"+data);
}*/
);
}
}`
php:
public function batchDelete(){
$source=$_POST['data'];
$sel_arr=explode(' ',$source);
/*
foreach ($sel_arr as $item){
echo $item.'---';
}*/
$project=M('project');
foreach ($sel_arr as $item){
$projectinfo=$project->where("id=$item")->delete();
}
$this->success("删除成功");
}
页面肯定不会动啊,你用ajax的方式post是异步处理的形式,服务器处理过后返回一个成功或者失败,然后js再来操作DOM或者刷新就好了....
不明白为什么注释了post里的funcion
jquery的post就是个ajax操作,楼主你把异步回调的function个注释了还怎么处理返回结果呢?