0

我有这样的标记我现在不使用表单我想使用 ajax 上传图像

$('#file').on('change', function(e) {
    $.ajax({
        url: "upload.php",
        type: "POST",
        data: ?,
        processData: false,
        contentType: false,
        success: function (response) {
            console.log(response);
        }
    });
})

在数据中我必须发送什么?我只在堆栈溢出中得到了这个 ajax,但我无法理解。还有一件事我怎样才能接收 PHP 文件中的数据

谢谢你?

4

3 回答 3

1

无法通过 ajax 上传图片。您可以做的是创建一个隐藏的 iframe 并使用它上传文件。

于 2013-03-12T17:44:32.923 回答
0

请注意,通常通过 AJAX 上传文件很痛苦。您可以在此处通过 JQuery中的 AJAX 文件上传查看相关问题。

就个人而言,我求助于在提交时生成一个隐藏的 iframe,并带有一个被提交的表单的克隆。完成后,iframe 的内容将被抓取回 jQuery。我找不到在旧 IE 版本中工作的另一种方法。

于 2013-03-12T17:44:42.293 回答
0

您尝试做的事情可以在支持FormData功能的浏览器中完成

$('#file').on('change', function(e) {
    var data = new FormData();
    data.append('file',this.files[0]);
    $.ajax({
        url: "upload.php",
        type: "POST",
        data: data,
        processData: false,
        contentType: false,
        success: function (response) {
            console.log(response);
        }
    });
})
于 2013-03-12T17:54:35.253 回答