0
var p = JSON.stringify(parameter);
    console.log(p);
    $.ajax({
        type: 'POST',
        url: 'http://abc.com/ajax.php',
        data: p,
        success: function(status) {
            console.log(status);
        }
    });

console.log(p) 显示{"o_fname":"hh","o_lname":"jkhk","o_email":"uifh@bjvh.com","o_phone":"","b_name":"bmnbmbm,b","b_address":"","b_city":"","b_postal":"","b_phone":""} ,但在我的http://abc.com/ajax.php页面print_r($_POST)中给了我一个空数组Array()

4

2 回答 2

0

我认为问题的根源可能在于数据:您正在传递参数详细信息,但是对于 jQuery 另一侧的函数,您传递的是参数名称,仅此而已。

尝试:

$.ajax({
    type: 'POST',
    url: 'http://abc.com/ajax.php',
    data: {parametername:p},
    success: function(status) {
        console.log(status);
    }
});

将 parametername 替换为 ajax.php 期望的参数名称。

于 2013-04-13T09:07:08.743 回答
0
var p = JSON.stringify(parameter);

是你的问题。

当您将字符串数据传递给 .ajax 时,它会“按原样”发送它——但 PHP 只有在接收到编码为 .ajax 的数据时才会弹出 $_POST application/x-www-form-urlencoded

所以不要把你的数据变成一个字符串,而是parameter直接将你的对象作为值传递data——然后 jQuery 将负责以正确的方式发送它,以便 PHP 理解它应该如何处理它。

于 2013-04-16T13:35:41.580 回答