我正在尝试使用发送到控制器的表单数据来访问对象。但是,当我尝试访问对象时,我得到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是字段的名称。
下面是传递的对象的图像。 顶部是序列化数组,底部是一个具有表单的所有名称和值的单个对象...
答案 0 :(得分:1)
如果你正在使用jQuery,你可以使用jQuery的内置序列化/查询字符串函数来从表单中获取数据:http://api.jquery.com/serialize/
在你的情况下:
var data = $('#newUserForm').serialize(); // is a string like "firstName=jon"