jquery ajax 使用serialize() 表单字段过多导致字段不能全部发送,改用了serializeArray()方法,再查下使用方法,暂时没有发现什么问题
// 如:{Name:'摘取天上星',position:'IT技术'}
// ps:注意将同名的放在一个数组里
function getFormJson(form) {
var o = {};
var a = $(form).serializeArray();
$.each(a, function () {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
}
//调试调用
$(function(){
$("#button").click(function(){
alert(getFormJson("#formID"));
});
});
//Ajax提交
$.ajax({
type: "POST",
url:"ajax.php",
data:getFormJson($("#formID")),//表单数据JSON格式的函数参数里填写表单的ID或要提交的表单
dataType: 'json',
success: function(msg) {alert(msg);},
error: function(error){alert(error);}
});
代码来源:http://www.tuicool.com/articles/NJFnEnz