【发布时间】:2014-10-10 12:43:42
【问题描述】:
我正在创建一个 ajax 上传文件。我已经使用 PHP 编写了我的上传代码,它工作正常。问题是当我使用 $.ajax{} 时。我的upload.php 无法接收表单数据。这是我的代码。
function pleaseUpload(){
$(document).ready(function(){
//var fd=new FormData($("form#form_upload_1"));
var fd = new FormData();
fd.append( "file", $("#edit_first [type=file]")[0].files[0]);
fd.append( "hid", $("#form_upload_1 [type=hidden]").val());
alert(fd);
$("#image_1").html("");
$.ajax( {
type: 'POST',
url: 'save_picture.php',
data: fd,
processData: false,
contentType: false,
cache: false,
success: function(data){
$("#image_1").html(data);
}
});
});
}
<form id='form_upload_1' enctype='multipart/form-data' name='form_upload_1' method='post' action=''>
<div id='edit_first' class='upload_button_wrapper'>
<input id='edit_first' class='upload_button' type='file' onchange='pleaseUpload()' name='file'/>
<input type='hidden' name='hid' value="first" />
</div>
</form>
【问题讨论】:
-
是因为你把它发布到 save_picture.php 吗?
-
您将 jQuery 选择器的结果附加到 FormData,对吗?
-
我已经用这个改变了附加部分,仍然给我同样的错误。 var fd=new FormData($("form#form_upload_1"));
-
我认为这个 SO 线程将是 elpful:stackoverflow.com/questions/2276463/…
-
我已将表单数据更改为序列化,但仍然出现相同的错误
标签: jquery ajax file post upload