我想通过使用jQuery AJAX发送FormData,如:
var uploadFormData = new FormData();
uploadFormData.append("name","value");
$.ajax({
url : "(URL_target)",
type : "POST",
data : uploadFormData,
cache : false,
contentType : false,
processData : false,
success : function(r) {
alert("Success!");
}
});
但我也希望使用jQuery AJAX发送二进制数据,如:
var data = (...);
$.ajax({
url: "(URL_target)",
type: "POST",
data : data,
cache : false,
contentType: "application/octet-stream",
processData: false,
success : function(r) {
alert("Success!");
}
});
如何将它们组合成一个数据并发送出去?
解决方法:
您可以将二进制数据作为Blob,File,ArrayBuffer对象或数据URI附加到FormData对象
var uploadFormData = new FormData();
var data = (...);
uploadFormData.append("name","value");
uploadFormData.append("data", new Blob([data], {type:"application/octet-stream"}));
$.ajax({
url : "(URL_target)",
type : "POST",
data : uploadFormData,
cache : false,
contentType : false,
processData : false,
success : function(r) {
alert("Success!");
}
});
标签:javascript,jquery,ajax
来源: https://codeday.me/bug/20190727/1554138.html