2

我正在使用 jQuery 检索图像并将其发布到另一个表单:

handler = function(data, status) {
    ...
    var fd;
    fd = new FormData;
    fd.append("file", data);
    jQuery.ajax({
      url: target_url,
      data: fd,
      processData: false,
      contentType: false,
      type: "POST",
      complete: function(xhr, status) {
        console.log(xhr.status);
        console.log(xhr.statusCode);
      }
    });
};
jQuery.get(imageUrl, null, handler);

表单看起来像这样:

<form>
  <input type="file" name="file" />
  ...
</form>

事情没有按预期工作。我从服务器端收到 200 响应,它使用一些预先填充的值呈现表单。

我也试过设置contentType: "multipart/form-data"

任何想法为什么这不起作用?

4

1 回答 1

2

您正在发送一个不会被识别为文件的字符串。尝试发送 blob

fd.append("file", new Blob([data], { "type" : "text/plain" }));

我很确定这仅适用于文本文件,除非您在原始请求上设置了 responseType。

于 2013-07-14T20:13:05.650 回答