说到ajax,那绝对是一个老生常谈的话题,近些年ajax技术的使用颇为盛行。下面我们就以jQuery为例来从一个真实的项目中看一下ajax的实例。
首先是前端页面,这个页面我们使用的是bootstrap和自己的若干技术,最后我们有一个按钮,它的源代码如下:
$deal .= '<a href="javascript:void(0);" class="btn btn-danger btn-mini" οnclick="deleteOne('.$Id.');">删除</a>';
相信有js基础的朋友们读懂这个代码不是问题,这里需要说明几点:
1.它使用了bootstrap,因此我们会看到诸如btn btn-danger btn-mini这些东西,
2.它调用了一个deleteOne()函数,而该函数中的参数$Id是PHP中的变量。
然后就是这个deleteOne方法的代码,注意这里我们导入了jQuery库,当然还有一些其他的库,这里只写其中比较重要的部分代码:
<script type="text/javascript">
var base_url='<?php echo base_url();?>';
$(function(){
deleteOne=function(id,time){
var t='3000';if(isNullOrEmpty(time)){t='3000';}else{t=time;}
var icon='<?php echo base_url();?>assets/dialog/icons/';
showDialog('确定要删除?',function(){
var url='<?=@$site_url.'/'.@$module.'/delete';?>';
var data={'Id':id}
$.ajax({
//async: true,//是否为异步请求
type: "POST",//GET POST
url: url,
//data: data,
data:'Id='+id,
//dataType: "json",
//beforeSend: function(XMLHttpRequest, textStatus){},
success: function(data){//,textStatus
//console.log(data);
var msg=data.message;
//if(data.status){refreshGrid();i='succeed.png';}else{i='info.png';}
showDialog(msg);
window.location.reload();
}
//complete: function(XMLHttpRequest, textStatus){},
/*error: function(XMLHttpRequest, textStatus, errorThrown){
var msg=("Error");i='error.png';
showDialog(msg);
}*/
});
});
}
});
</script>
到这里,我们还差一步就完成了,就是delete方法,下面是它的实现过程:
public function delete(){
if (! isPost ()) {
$msg='输入的链接不正确!';
showErrorMsg($msg);
}
$action='delete';
$module=$this->module;
$arrLang=lang('common_'.$module);
$title=$arrLang[$action];
$arr_post=$this->input->post();
$arr_post=setForm($arr_post);
$Id=@$arr_post['Id'];
$status=FALSE;
$logType=0;
if(!isNullOrEmpty($Id)){
$del_where=array('ID'=>$Id);
$this->common_model->table='mx_changci';
$result = $this->common_model->delete( $del_where );
if ($result) {
$status = TRUE;
$message = $title.'成功!';
} else {
$status = FALSE;
$message = $title.'失败!';
}
}else{
$status=FALSE;
$message= $title.'出错!';
$logType=3;
}
$jsonData['status']=$status;
$jsonData['message']=$message;
header("Content-type: application/json");
echo json_encode($jsonData);
}
这就是我最近参与的项目中的一个简单的ajax的实现