如何使用Javascript / JQuery模拟POST上传

时间:2015-06-26 20:29:47

标签: javascript jquery ajax http

我正在尝试编写一个发送Ajax POST请求的脚本。此请求的一部分包括文件上传,但因为我正在编写脚本,我正在寻找发送字符串而不是文件。上传的内容类型为multipart/form-data

我发现a tool将字符串编码为其二进制base64版本,但我仍然不知道如何获取该编码字符串并将其作为请求有效负载发送。

如何使用Javascript或JQuery在POST中将字符串作为文件发送?

1 个答案:

答案 0 :(得分:1)

您可以$.post()FormData()一起使用来模拟上传。

$.post("path/to/upload", {data: new FormData()}, function (res) {
  // Response
});

确保FormData()取自enctype="multipart/formdata"的现有表单。

另一个例子是:

var fd = new FormData();    
fd.append( 'file', input.files[0] );

$.ajax({
  url: 'http://example.com/script.php',
  data: fd,
  processData: false,
  contentType: false,
  type: 'POST',
  success: function(data){
    alert(data);
  }
});