使用jQuery AJAX使用二进制数据发送FormData [英] Sending FormData with a binary data by using jQuery AJAX

查看:94
本文介绍了使用jQuery AJAX使用二进制数据发送FormData的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想通过使用jQuery AJAX发送 FormData ,例如:

I'd want to send a FormData by using jQuery AJAX, like:

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发送二进制数据,如:

But I also want to send a binary data by using jQuery AJAX, like:

var data = (...);

$.ajax({
    url: "(URL_target)",
    type: "POST",
    data : data,
    cache : false,
    contentType: "application/octet-stream",
    processData: false,
    success : function(r) {
        alert("Success!");
     }
});

如何将它们合并为一个数据并发送出去?

How can I combine them into one data and send it out?

推荐答案

您可以将二进制数据附加到 FormData 对象作为 Blob 文件 ArrayBuffer 对象,或数据URI

You can append binary data to FormData object as a Blob, File, ArrayBuffer object, or data URI

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!");
  }
});

这篇关于使用jQuery AJAX使用二进制数据发送FormData的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆