2016-04-19 14 views
0

送信するためにajaxを使用してサーバーにファイルを送信する際に問題が発生しました。私はvar xhr = new XMLHttpRequest();$.ajax({});で多くの方法を試しましたが、常にエラーUncaught TypeError: Illegal invocationを与えます。私もprocessData: falseを使用しますが、この状態では、すべてのフォームフィールドとファイルフィールドを取得しています。 AJAX用ajaxフォームでファイルデータを送信するsubmit

私のコードは次のようになります。この中

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'); 
    } 
}); 

私はfile出力の値testでのみnameフィールドを得たが、ありません。 誰かが私が間違っている場所を教えてください。

+0

jqueryライブラリを追加しましたか? –

+0

あなたのデータの 'fd.value'かもしれません – Mihai

+0

私はhtmlの にjqueryライブラリを追加しました。htmlは'

' –

答えて

0

contentTypeをfalseではなく特定の形式に設定します。 たとえば、画像の場合: - "image/jpeg"など

関連する問題