【发布时间】:2014-09-16 11:45:54
【问题描述】:
我目前正在尝试为我正在开发的网站整合一个图像上传功能,并希望使用 AJAX 来完成,以免重新加载页面。
但是,我遇到了障碍。我以this question's answer 为基础,在之前的一个项目中我得到了它的工作。然而,这一次,无论我做什么,文件数据似乎都没有被塞进表单数据中。 AJAX 没有通过。等等。
jQuery 看起来像这样:
$("body").on("change","#review_submit #imagefile",function() {
console.log(this.files[0]);
var formData = new FormData($("form#imageupload")[0]);
console.log(formData);
$.ajax({
url: "php/submit-imageupload.php",
type: "post",
success: completeHandler = function(data) {
if(data == "success") {
console.log("Success!");
}
},
error: function() {
console.log("Oops");
},
// Form data
data: formData,
//Options to tell JQuery not to process data or worry about content-type
cache: false,
contentType: false,
processData: false
}, 'json');
});
控制台日志最终看起来像:
File { size: 1407970, type: "image/png", name: "powerTreads.png", path: "", lastModifiedDate: Date 2014-08-08T21:49:19.477Z, mozFullPath: "E:\Pictures\powerTreads.png" }
FormData { }
尝试浏览表单数据也没有任何内容可提及。
HTML 如下所示:Image link of HTML
那么任何人都可以看到我哪里出错了吗? :/
【问题讨论】:
-
var formData = new FormData($("#imageupload"));如果只有一种形式……只要 id 就足够了……
-
试试
var formData = new FormData(); formData.append('imagefile', this.files[0]) -
你有没有嵌套
forms.. -
@Shashank:为了清楚起见,我在这里发帖时添加了这一点。对不起。
-
@Arun P Johny:您最初的建议没有明显效果,抱歉。并且没有嵌套形式。页面上有两个表单,但没有嵌套。
标签: jquery ajax undefined form-data