首页 > 代码库 > jQuery Ajax向某个页面传值并取得返回的数组

jQuery Ajax向某个页面传值并取得返回的数组

本案例讲诉通过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的方法,然后直接调用。

点击这里下载演示版