5

FormDataからデータを読み取る必要がありますか?私は次のようなものを読み込もうとしましsomeFormatData["valueName"]たが、機能しません。 options["fileId"]またはoptions["file"]動作しません。また、私はoptions.fileId同じ結果を試します:

function upload(file, fileId, callback) {
    var formData = new FormData();
    formData.append("file", file);
    formData.append("fileID", fileId);

    $.ajax({
        url: '/url',
        type: 'POST',
        data: formData,
        processData: false,
        contentType: false,
        success: function(response) {
            callback(response);
        }
    });
}


asyncTest("test upload chunk", function() {
    var blob = new Blob(["Hello world!"], { type: "text/plain" }),        
        options = null,
        fileID ="someFileID",
        response;

    jQuery.ajax = function(param) {
        options = param;   // THIS is FormData object 
        // how to read fileId and file from here
    };

    upload(blob, fileID, function (data) {
        response = data;  
    });

    options.success({
        someProp: 'responseFromServer'
    });

    setTimeout(function() {
        QUnit.equal(options, "dataTosend", "parameters is OK");
        QUnit.equal(response["someProp"], "responseFromServer", "Response ok");
        start();
    },1000);
});
4

2 に答える 2

5

あなたがあなたのFormDataオブジェクトを取るならば、あなたはそれにいくつかの異なる方法を使うことができます…あなたが探しているのは

formData.get()

また

formData.getAll()

https://developer.mozilla.org/en-US/docs/Web/API/FormData

このget()方法は、すべてのブラウザで完全にサポートされているわけではないことに注意してください。

于 2015-06-01T04:34:32.167 に答える
0

これを使って読むことができます

formData.get('fileId') // to read Id
formData.get('file') // to read the file 
于 2021-10-16T07:05:18.173 に答える