jQuery .ajax将整个JavaScript数组传递给PHP

时间:2013-02-18 01:50:12

标签: php jquery ajax

tdata = new Array();  
tdata['id'] = "helloid";  
tdata['name'] = "helloname";  
tdata['location'] = "hellolocation";  
tdata['about'] = "helloabout";  
tdata['company'] = "hellocompany";  
tdata['website'] = "hellowebsite";  

$.ajax({
    url: 'export.setsession.php',
        data: { tdata: tdata.id 
    },
    type: 'post',
    success: function (output) {
        //$(location).attr('href', 'index.php');
        alert("girdsposted");
    }
});

上面的工作正常但我想将数组作为一个整体传递,如果有可能像数据:{tdata:tdata},而不是只传递id。这有可能做或有替代方案吗?我还没有能够将整个数组放到PHP中,这是我能阅读的一种形式......

提前致谢...

2 个答案:

答案 0 :(得分:4)

使用以下命令创建JSON字符串:

JSON.stringify({ json: tdata });

然后将其转换为PHP数组:

json_decode($data);

答案 1 :(得分:2)

您是否考虑使用JSON.stringify() method,它会将您的tdata元素转换为JSON字符串:

data: JSON.stringify(tdata)