以下是我的ajax调用,其中我将表单数据发送到PHP页面并相应地展示消息。我面临的问题是ajax seralize()post我的文件没有发布而send.php在响应Notice: Undefined index: file
中给出了错误。请告诉我使用ajax enctype="multipart/form-data"
发布表单数据的合适方法是什么,这样也可以通过ajax将文件作为帖子发送。
var post_data = $( "#form" ).serialize();
$.ajax({
type: "POST",
url: "send.php",
async: false,
data: post_data,
success: function(html){
if (html.indexOf("filerror") != -1)
{
alert('error');
}
else if(html.indexOf("true") != -1)
{
alert('true');
}
else if (html.indexOf("false") != -1)
{
alert('false');
}
},
beforeSend:function()
{
}
});
答案 0 :(得分:0)
$( "#form" ).serialize()
只获取表单字段值,而不是其内容(用于文件)。如果您希望文件内容适用于files
控制字段:
var $fileInput = $('input[type="file"]');
var files = $fileInput.get(0).files;
您必须使用files
构造函数处理变量FileReader
。但更适合AJAXuse插件上传文件,例如this。