ajax在日常工作项目中经常使用,所以我在这里总结了一个我在工作中经常使用的一个ajax+php的实例。也方便日后再次使用,同时避免了自己写的代码却不知道自己想干嘛的尴尬处境,长话短说 直接上代码:
(功能介绍:这是一个ajax+php,用户通过类型选择,前端显示用户想要的内容)
1. javascript端:str字符串的拼接应该特别注意单双引号,建议class、id、url这些地方使用单引号,然后用双引号包起来。养成良好的习惯,免得到时候被单双引号搞的一脸懵逼,特别注意(发送过去的数据是json数据,要留意格式,避免不必要的麻烦)
1 var cityInfo=$('#cityInfo').val(); 2 var typeInfo=$('#typeInfo').val(); 3 if(!(cityInfo==''&& typeInfo=='')){ 4 $.ajax({ 5 url:'/index.php?m=member&c=index&a=receive_search', 6 type:'POST', 7 dataType:'json', 8 data: {cityInfo:cityInfo,typeInfo:typeInfo}, 9 success:function(data){ 10 var str=''; 11 for(i in data){ 12 str += "<div class='caseIntroduce'>"; 13 str += "<a href='index.php?m=member&c=index&a=exchange_show&type=accept&id="+data[i]['id']+"'>"; 14 str += "<div class='caseinfo1'>"; 15 str += "<span class='casetitle'>"+data[i]['title']+"...</span>"; 16 str += "</div>"; 17 str += "<div>"; 18 str += "<span class='caseblue'>"+data[i]['classification']+"</span>"; 19 str += "<span>涉案金额:"+data[i]['accountMoney']+"</span>"; 20 str += "<span>委托费用:"+data[i]['entrustcost']+"元</span>"; 21 str += "<span>"+data[i]['linkage']+"</span>"; 22 str += "<span>"+data[i]['receivetime']+"</span>"; 23 str += "</div>"; 24 str += "</a>"; 25 str += "</div>"; 26 } 27 $(".caseCenter").html(str); 28 } 29 30 }) 31 }
2.php端中对数据进行接收(因为本次例子是基于 phpcms框架的一个实战;只需留意2、3行接收数据,以及24、25数据返回即可)
1 public function receive_search(){ 2 3 $cityInfo=$_POST['cityInfo']; 4 $typeInfo=$_POST['typeInfo']; 5 $sqlCity=$cityInfo == '' ? '' :"linkage='$cityInfo'"; 6 $sqlType=$typeInfo == '' ? '' : "classification='$typeInfo'"; 7 if(!empty($sqlCity)&&!empty($sqlType)){ 8 $sql=$sqlCity.'AND '.$sqlType; 9 }else{ 10 $sql=$sqlCity.$sqlType; 11 } 12 $order = 'updatetime desc'; 13 $catid = 181; 14 if(!$this->set_modelid($catid)) return false; 15 $datas = $this->db_con -> select($sql,'*', '', $order, '', ''); 16 foreach($datas as $key=>$val){ 17 $datas[$key]['title']=displayPart($val['title'],15); 18 $datas[$key]['classification']=get_linkage($val['classification'],6650,'-',1); 19 $datas[$key]['accountMoney']=get_linkage($val['accountMoney'],6766,'-',1); 20 $datas[$key]['linkage']=sliceArea(get_linkage($val['linkage'],3360,'-',1)); 21 $datas[$key]['receivetime']=date('Y-m-d',$val['receivetime']); 22 } 23 24 echo json_encode($datas); 25 exit; 26 }