【问题标题】:jQuery gets 'undefined' trying to get input type=filejQuery 获取“未定义”试图获取输入类型 = 文件
【发布时间】: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


【解决方案1】:

天哪,我现在感觉很笨。代码首先不是问题,而是我发送到的 PHP 文件。在它的目的地,我仍然有一些来自以前项目的功能不再适用(并且不存在,因此引发了我没有看到的错误)。

刚刚改成

success: completeHandler = function(data) {
    if(data == "success") {
        console.log("Success!");
    }
    else {
        console.log(data);
    }
},

它以相当详细的描述向我反馈了问题。 (错误的 PDO 文件、不再工作的 SQL 语句,因为它们试图插入不存在的表中,等等......)

编辑:但请注意,当尝试通过 console.log() 读取其内容时,FormData 似乎总是空的。显然,内容一直存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2013-10-09
    • 2021-02-15
    • 2016-12-11
    • 2015-04-09
    • 2014-03-21
    • 1970-01-01
    相关资源
    最近更新 更多