我目前正在努力为我正在处理的网站制作一个图片上传功能,并且希望使用AJAX来完成,以便不重新加载页面。
但是,我遇到了麻烦。我将自己放在this question's answer之上,在之前的项目中我开始工作。然而,无论我做什么,这次在filedata周围似乎都没有被填入formdata。 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 { }
尝试浏览formdata时,根本没有内容可供提及。
HTML如下所示:Image link of HTML
那么谁能看到我出错的地方? :/
答案 0 :(得分:0)
我的天啊,我现在感到愚蠢。代码首先不是问题,而是我发送给的PHP文件。在它的目的地,我仍然有一些不再适用的上一个项目的功能(并且不存在,因此抛出了我没有看到的错误)。
刚刚将其更改为
success: completeHandler = function(data) {
if(data == "success") {
console.log("Success!");
}
else {
console.log(data);
}
},
它回复了我关于相当描述的问题。 (错误的PDO文件,不再有效的SQL语句,因为它们试图插入不存在的表中等等)。
编辑:请注意,尝试通过console.log()读取其内容时,FormData似乎总是显示为空。所以内容显然一直存在。