[英]How can i get data from FormData in javascript?
我需要从 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);
});
如果您使用FormData
对象,则可以在其上使用几种不同的方法……您正在寻找的是
formData.get()
或者
formData.getAll()
https://developer.mozilla.org/en-US/docs/Web/API/FormData
请注意,并非所有浏览器都完全支持get()
方法。
您可以使用此阅读
formData.get('fileId') // to read Id
formData.get('file') // to read the file
列出 FormData 的所有条目的另一种方法:
for(const entry of formData){
console.log(entry); // Array: ['entryName', 'entryValue']
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.