微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 使用jQuery AJAX使用二进制数据发送FormData

我想通过使用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!");
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐