php - 如何访问通过jquery ajax传递的对象

时间:2016-08-24 20:06:40

标签: php jquery ajax

我有一个像下面这样的javascript对象

    final Drawable drawable = ContextCompat.getDrawable(context, R.drawable.ic_clear_text_gray_x);
    final Drawable wrappedDrawable = DrawableCompat.wrap(drawable);
    mClearTextIcon.setBounds(0, 0, mClearTextIcon.getIntrinsicWidth(), mClearTextIcon.getIntrinsicHeight());
    mClearTextIcon.setVisible(true, false);
    final Drawable[] compoundDrawables = getCompoundDrawables();
    setCompoundDrawablesWithIntrinsicBounds(
            compoundDrawables[0],
            compoundDrawables[1],
            visible ? mClearTextIcon : null,
            compoundDrawables[3]);

然后我尝试使用$ .ajax将其传递给php,如下所示

var customerinfo = {
            customer_name : $('#customer_name').val(),
            customer_address: $('#customer_address').val(),
            customer_city : $('#customer_city').val(),
            customer_state : $('#customer_state').val(),
            customer_zip : $('#customer_zip').val(),
        };

在php中我尝试打印出来的对象

$.ajax({
                    url: "../folder/file.php",
                    type: "POST", 
                    data: {
                     'customerinfo' : customerinfo,
                    },
                    success:function(){
                         window.location = "file.php";
                    }
            })

 $customerinfo = json_decode($_POST['customerinfo']);
 print_r($customerinfo);

我得到 $customerinfo = $_POST['customerinfo']; print_r($customerinfo);

我在尝试json.stringify之前在javascript中传递它但得到同样的错误。

我发现了一个非常相似的帖子,比如 jquery ajax object array php但我无法让代码工作。我认为ajax能够传递数据,只是我不知道如何在php端解码它。

我知道我可以从html提交按钮发布它,但这是一个更大的问题的简化测试,我希望使用jquery传递其中包含许多对象的对象。

如果javascript方面正确,则问题为undefined index customerinfo

如果没有,问题将是"how to access objects passed through jquery ajax in PHP."

1 个答案:

答案 0 :(得分:0)

从我看到的问题可能在数据中。 尝试使用静态数据发布,意味着替换

var customerinfo = {
        customer_name : $('#customer_name').val(),
        customer_address: $('#customer_address').val(),
        customer_city : $('#customer_city').val(),
        customer_state : $('#customer_state').val(),
        customer_zip : $('#customer_zip').val(),
    };

var customerinfo = {
        customer_name : 'ddd',
        customer_address: 'ddd',
        customer_city : 'ddd',
        customer_state : 'ddd',
        customer_zip : 'ddd'
    };

也尝试从浏览器控制台发送ajax,这样你就可以看到发布的数据了