JavaScript中的对象到字符串转换问题

时间:2013-12-28 04:23:06

标签: javascript php jquery

我有一个JQuery,可以在单击子列表时记录所有直接父列表。

示例 -

- Parent1  
  - Child1
     - GrandChild1
     - Grandchild2
     - Grandchild3
  - Child2
     - Grandchild4
     - Grandchild5

单击Grandchild2将记录Parent1,Child1和Grandchild2。

我希望在此列表页面中点击某些内容时,使用JQuery,JS和Cookie在其他页面中打印值。但是,以下代码不起作用。请帮助。

JQUERY和JS代码 - (对于列表页面)

function objToString (obj) {
            var str = '';
            for (var p in obj) {
                if (obj.hasOwnProperty(p)) {
                    str += p + '::' + obj[p] + '\n';
                }
            }
            return str;
        }

        $(document).ready(function() {
            $('li').click(function() {
                var obj = $(this).parents('li').add(this);
                obj.css('color', 'red');
                var data= "data=";
                document.cookie = data+objToString(obj);
            });
        });

PHP代码 - (用于打印列表数据的页面)

echo $_COOKIE['data'];

对于上面的示例,PHP代码应该打印Parent1 Child1 Grandchild2。此外,所有功能都应与IE 7兼容。我遇到的唯一问题是objToString在这里无效。

1 个答案:

答案 0 :(得分:1)

请改用JSON.stringify。此函数将任何Object转换为String,并将键和值结合在一起。

实施例: -

var obj = {a:"b", f:{c:"d"},e:"e"};
JSON.stringify(obj); 

输出: -

“{”a“:”b“,”f“:{”c“:”d“},”e“:”e“}”。