如何在codeigniter中访问ajax发布的对象数据

时间:2011-04-28 15:04:41

标签: ajax codeigniter

我正在尝试使用发送到控制器的表单数据来访问对象。但是,当我尝试访问对象时,我得到null或0的值。我使用了两种方法,第一种是序列化,第二种是将名称和值存储在一个对象中。 (下面的代码发送/发布序列化)

这是我的JS ......

$("#createUser").click(function() {

        //store input values
        var inputs = $('#newUserForm :input');
        var input = $('#newUserForm :input').serializeArray();
        console.log(input);

        //if I want just the values in one object
        var values = {};
        $(inputs).each(function() {
            values[this.name] = $(this).val();
        });
        console.log(values);

        if(LiveValidation.massValidate( validObj )){
            $.post('./adminPanel/createUser', function(input){
                alert('Load was performed.');
                            //test confirmation box
                $("#msgbox").html("Grrrrreat");
                //drop down confirmation
                $("#msgbox").slideDown();
            });
        } else {
            //test fail box
            $("#failbox").html("Fail");
            $("#failbox").slideDown();
        }
    });

在控制器端,我尝试按以下方式访问数据......

$this->input->post("firstName")

其中firstName是字段的名称。

下面是传递的对象的图像。 顶部是序列化数组,底部是一个具有表单的所有名称和值的单个对象...

objects created

1 个答案:

答案 0 :(得分:1)

如果你正在使用jQuery,你可以使用jQuery的内置序列化/查询字符串函数来从表单中获取数据:http://api.jquery.com/serialize/

在你的情况下:

var data = $('#newUserForm').serialize(); // is a string like "firstName=jon"