使用ajax表单提交发送文件数据

时间:2016-04-19 11:41:59

标签: javascript php jquery ajax forms

我有问题将文件发送到带有ajax用于提交的服务器。我使用var xhr = new XMLHttpRequest();$.ajax({});尝试了很多方法,但总是给出错误Uncaught TypeError: Illegal invocation。我也使用processData: false,但在这种情况下,我将所有表单字段分开了文件字段。

我的ajax代码是:

var fd = new FormData();
fd.append( 'file', $('#file')[0].files[0] );
fd.append( 'name', 'test');
$.ajax({
    url: "uploadFile.php",
    data: fd,
    cache: false,
    contentType: false,
    // processData: false,
    type: 'POST',
    success: function(data, textStatus, jqXHR){
        console.log('success');
    },
    error: function(jqXHR, textStatus, errorThrown){
        console.log('error');
    }
});

在此处,我只在输出中获得值为name的{​​{1}}字段,但不包含test。 有人请让我知道我错在哪里。

1 个答案:

答案 0 :(得分:0)

将contentType设置为特定格式而不是false。 例如。在图像设置的情况下: - " image / jpeg"等