本案例讲诉通过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"}
模板页面
//取得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;
}
}
});
});
使用$.cookie(‘channels‘)的时候提示:Object doesn‘t support property or method ‘cookie‘!不知道是怎么回事,所有自己用js写了个获取Cookie的方法,然后直接调用。
原文:http://blog.csdn.net/szy361/article/details/37872219