PHPCMS 后台模块开发之Ajax查询

        最近在研究phpcms这个框架,应客户需求开发模块插件,其中有个功能需用到ajax,因之前ajax用的比较少,不是很熟,在使用的过程当中,出现了许多问题,最终都一一解决了,在这里分享一下出现的问题,及ajax使用。


问题一:点击无响应?

解决方法:通过控制台,可以看到提示,pc_hash 验证失败。

然后在URL加上pc_hash=<?php echo $_SESSION['pc_hash'];?>即可解决。


问题二、json_encode(),将数组转换成JSON字符串,乱码。

解决方法:使用json_encode($data,JSON_UNESCAPED_UNICODE);进行转换,注意,此方法php版本必须5.4以上。


问题三、成功获取json数据后,如何遍历数据,到前台页面?

解决方法:【来源网络】

1.遍历对象 

  1. $(function(){  
  2.        var tbody = "";      
  3.     //------------遍历对象 .each的使用-------------  
  4.       //对象语法JSON数据格式(当服务器端回调回来的对象数据格式是json数据格式,必须保证JSON的格式要求,回调的对象必须使用eval函数进行转化(否则将得不到Object)。本文不作详细介绍服务器端回调的数据问题,我们将直接自定义对象)  
  5.     var obj =[{"name":"admin","password":"123456"}];  
  6.     $("#result").html("------------遍历对象 .each的使用-------------");  
  7.       alert(obj);//是个object元素  
  8.     //下面使用each进行遍历  
  9.     $.each(obj,function(n,value) {   
  10.            alert(n+' '+value);  
  11.            var trs = "";  
  12.              trs += "<tr><td>" + value.name +"</td> <td>" + value.password +"</td></tr>";  
  13.              tbody += trs;         
  14.            });  
  15.   
  16.          $("#project").append(tbody);  
  17.        
  18.   });  
2.遍历数组

  1. $(function(){  
  2.    var tbody = "";  
  3.    //------------遍历数组 .each的使用-------------  
  4.    var anArray = ['one','two','three'];  
  5.    $("#result").html("------------遍历数组 .each的使用-------------");  
  6.          $.each(anArray,function(n,value) {  
  7.            alert(n+' '+value);  
  8.            var trs = "";  
  9.            trs += "<tr><td>" +value+"</td></tr>";  
  10.            tbody += trs;  
  11.          });  
  12.         $("#project").append(tbody);  
  13.      
  14. });  
3、遍历List集合

  1. $(function(){  
  2.   var tbody = "";  
  3.   //------------遍历List集合 .each的使用-------------  
  4.   var obj =[{"name":"zhangsan","password":"123456"},{"name":"lisi","password":"333333"}];  
  5.   $("#result").html("遍历List集合 .each的使用");  
  6.   alert(obj);//是个object元素  
  7.   //下面使用each进行遍历  
  8.   $.each(obj,function(n,value) {   
  9.      alert(n+' '+value);  
  10.      var trs = "";  
  11.      trs += "<tr><td>" +value.name+"</td> <td>" + value.password +"</td></tr>";  
  12.      tbody += trs;         
  13.   });  
  14.   $("#project").append(tbody);  
  15. });  


附上Ajax代码【因临时写的,细节上还没有处理,功能已测试可用】

<script type="text/javascript">
$(document).ready(function(){ 
$("#search").click(function(){ 
$.ajax({
   type : "get",
url : "index.php?m=work&c=remark_manage&a=search_remarkcontent_ajax&pc_hash=<?php echo $_SESSION['pc_hash'];?>,
datatype : "json",
async:'false',
success : function(data){
 var jsonData = JSON.parse(data); 
 var tbody = "";
$.each(jsonData,function(n,value) {  
var trs = "";  
trs += "<tr><td>" +value.id+"</td> <td>" + value.remark_content +"</td></tr>";  
tbody += trs;      
 });
$("#tsearchlist").append(tbody); 
$("#remarklist").hide();
},
});

});
});
</script>


猜你喜欢

转载自blog.csdn.net/flydycfly/article/details/51407155