提交Ajax表单后,帖子值不显示codeigniter控制器返回空数组而不是表单中的数组值
$("#frmDemo").submit(function (e) {
e.preventDefault();
var name = $("#name").val();
var comment = $("#comment").val();
var marital_status = $('#marital_status').val();
if (name == "" || comment == "" || marital_status == "") {
$("#error_message").show().html("All Fields are Required");
} else {
$("#error_message").html("").hide();
$.ajax({
type: "POST",
url: "<?= base_url(); ?>index.php/Ajax_Post_Controller/user_data_submit",
data: "name=" + name + "&comment=" + comment + "&marital_status=" + marital_status,
success: function (data) {
$('#success_message').fadeIn().html(data);
setTimeout(function () {
$('#success_message').fadeOut("slow");
}, 2000);
}
});
}
})
空数组输出:
Array (
[name] => admin@2016comment=somnathmarital_statusjagtap
[comment] =>
[marital_status] =>
)
答案 0 :(得分:1)
如果表单包含您需要的所有参数,则可以serialize()
表单。
var form_data=$('#frmDemo').serialize();
然后将序列化表单传递给数据:
data:form_data
OR
正如@Juhana所提到的,你可以传递一个对象,然后将其转换为查询字符串:
data:{ name: name, comment: comment, marital_status: marital_status }