Json (php+jquery)

相关文章介绍Json:

http://www.cnblogs.com/snowinmay/archive/2013/05/26/3099799.html

通过AJAX进行理解:

        $(function(){
            $.ajax({
                type : "POST",
                url : "json.php",
                data : {
                    'name' : "suoz",
                    'email' : "Web_wly0710@163.com",
                    'age' : 20
                },
                // dataType : 'json',
                success : function(data){
                    alert(data);
                    var arr = $.parseJSON(data);
                    alert(arr['number']['gl']);
                },
            });
        });

PHP接收数据:

<?php
    $name = $_POST['name'];
    $email = $_POST['email'];
    $age = $_POST['age'];

    $arr = array(
        'name' => $name,
        'email' => $email,
        'age' => $age,
        'number' => array(
                        '1' => '111',
                        '2' => true,
                        'gl' => false
                    ),
        'text' => array(1,2,3)
    );

    $str = array($name,$email,$age);

    $arr = json_encode($arr);

    $str = json_encode($str);

    print_r($arr);

?>

索引数组str:["suoz","Web_wly0710@163.com","20"]

因为在PHP中str为索引数组,在json格式中编码为[]

关联数组arr : `{"name":"suoz","email":"Web_wly0710@163.com","age":"20","number":{"1":"111","2":true,"gl":false},"text":[1,2,3]}`

因为在PHP中arr为关联数组,而在javascript中没有关联数组这么一说,此时用{}对象表示。

总结:

  1. 如果在ajax中使用dataType:’Json’,在ajax返回结果后不需要在对返回的数据进行解析$.parseJSON()。

  2. 在PHP中使用了数组,而通过json_encode()将数组编码为json格式(JS字符串形式),在将该字符串形式返回给客户端,此时客户端只需要解析,即将js字符串形式转换为js对象形式,在通过调用即可。

  3. 相对XML来说,JSON简洁方便,不像xml中还需要树和结点的遍历。

  4. array( 1 , 2 , 3 ) => [ 1 , 2 , 3 ]
    array(“1”,”2”,”3”) => [“1”,”2”,”3”]

  5. 最后一个重点,一定要在localhost下ajax,不要像我一样粗心,一直返回php的源代码,死活找不到错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值