javascript PHP序列化serializable unserializable

对于url中参数值的传递,在数组方面可能显得无能为力。但在php中,我们可以使用serialize()将数组序列化,得到一个字符串,这样就可以很轻易的传递了。当得到该字符串后,我们使用unserialize()将这个字符串反序列化,得到原来的数组。

然而,我们在js和js或者js和php中怎么传递数组呢?因为在js中,没有这样(serialize)的函数,所以我们只有使用自定义的函数将数组转化为字符串,这样虽然也能实现,但运行效率却降低了。 在ajax中,我们可以使用xml标准数据存储格式进行数据传递,但如果只是传递简单的比如“0”,“1”之类的,根本用不着xml那样复杂的格式,那样反而降低了效率。对于简单的数组,我们也不必先按照xml死板的格式封装数据,而只需要使用函数serialize()将它序列化,然后通过xmlhttprequest返回给客户端。在客户端,因为是js处理,所以不能用php现成的unserialize()函数来将它反序列化,于是需要引用到两个js文件:utf.js(编码转换)和Phpserializer.js(封装serialize和unserialize函数)。

 var a = 's:31:"{"name":"芝麻教程","url":"www.web3.xin"}"';

 function test() {
        var arr = new Array(1, 2, 3);
        var arr2 = new Array('a', 'b', 'c');
        arr['test'] = arr2;
        var obj = {
                x: arr
                };
         var str = serialize(obj);
               alert(str);
         }
         alert(unserialize(a));
          test();

[立即下载实例包](http://pan.baidu.com/s/1jIohY1g 密码: dcrc) 提取码:dcrc

联系我们

邮箱 626512443@qq.com
电话 18611320371(微信)
QQ群 235681453

Copyright © 2015-2024

备案号:京ICP备15003423号-3