本案例讲诉通过Ajax向某个PHP页面传值,并将得到的数组通过json_encode()函数处理,然后返回给ajax,下面是在实际案例摘取的部分代码:
PHP页面
public function showChatName(){ $chat = A('Article','Event'); $res = $chat->selectName(I('get.channel')); echo json_encode($res); }
数组$res经过json_encode处理后的输出形式
{"channel_name":"abc"}
模板页面
<script src="../../public/home/js/jquery.min.js"></script> <script type="text/javascript"> //取得cookie值 function getCookie(name){ var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)){ return unescape(arr[2]); }else{ return null; } } $(function(){ var channel = getCookie('channels'); var a = window.location.host; $.ajax({ type:'GET', //以get方式与后台沟通 url :'http://'+a+'/Article/showChatName',//与此php页面沟通 dataType:'json',//从php返回的值以JSON方式解释 data:'channel='+channel, cache:false, success:function(msg){//如果调用php成功,注意msg是返回的对象,这个你可以自定义 if(msg.channel_name != ''){//channel_name就是数组的一个键值 var b = msg.channel_name; $("h1").text(b); return false; } } }); }); </script> <body> <div id="headlineContainer"> <h1 id='title_h1'></h1> </div>
使用$.cookie(‘channels‘)的时候提示:Object doesn‘t support property or method ‘cookie‘!不知道是怎么回事,所有自己用js写了个获取Cookie的方法,然后直接调用。