这是因为jQuery.serialize()仅序列化输入元素,而不序列化其中的数据。
仅“成功控件”被序列化到字符串。由于没有使用按钮提交表单,因此没有序列化提交按钮值。为了使表单元素的值包含在序列化的字符串中,该元素必须具有name属性。仅选中复选框和单选按钮(“
radio”或“ checkbox”类型的输入)中的值时,才会包括在内。 来自文件选择元素的数据未序列化。
但这并不意味着您不能使用ajax上传文件。其他功能或插件可能用于发送
FormData对象。
FormData如果您设置了正确的选项,则也可以与jQuery一起使用:var fd = new FormData(document.querySelector("form"));fd.append("CustomField", "This is some extra data");$.ajax({ url: "actionClass!actionMethodA.action", type: "POST", data: fd, processdata: false, // tell jQuery not to process the data contentType: false // tell jQuery not to set contentType});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)