jquery中的ajax请求,发送到服务器的数据不起作用

时间:2013-04-13 08:39:00

标签: ajax jquery

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.phpprint_r($_POST)中,我正在给我一个空数组Array()

2 个答案:

答案 0 :(得分:0)

我认为问题的公园可能是在数据中:你传递了参数细节,但是在jQuery另一端的函数中,你传递的是一个参数名称,而不是别的。

尝试:

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

使用参数名称ajax.php替换参数名称。

答案 1 :(得分:0)

var p = JSON.stringify(parameter);

是你的问题。

当你将字符串数据传递给.ajax时,它会“按原样”发送它 - 但是如果PHP接收到编码为application/x-www-form-urlencoded的数据,那么它只会弹出$ _POST。

所以不要将您的数据转换为字符串,但直接将parameter对象作为data的值传递 - 然后jQuery将负责将其发送给您因此,PHP可以理解它应该用它做什么。