javascript - Post 请求缺少边界 header

标签 javascript ajax html post

我正在尝试将 csv 文件发送到服务器。我使用 FileReaderAPI 加载文件,然后通过 ajax 发送它。但我收到以下错误。

For request 'POST /api/upload' [Missing boundary header]

JS

$('#upload-file-btn').on('click', function(e){
      e.preventDefault();

      var file = document.getElementById('input_file').files[0];
      console.log(file);
      reader = new FileReader();
      reader.onload = function () {
          var source = reader.result;
          var payload = {source: source};
          console.log(source);
          $.ajax({
           url:"http://localhost:9000/api/upload",
           type:"POST",
           data: JSON.stringify(payload),
           success: function(data){
              console.log(data);
           }
         });

      }
      reader.readAsText(file);
});

一些解决方案建议手动包含 "Content-Type": "multipart/form-data" header 会导致问题。我没有使用但仍然遇到上述问题。

最佳答案

如果您需要将数据作为文件发送,则必须使用 FormData 对象通过 ajax 发送 multipart/form-data 数据。

     var fd = new FormData();
     fd.append('source', $('#input_file')[0].files[0]);
     $.ajax({
       url:"http://localhost:9000/api/upload",
       type:"POST",
       data: fd,
       contentType: false,
       processData: false,
       success: function(data){
          console.log(data);
       }
     });

关于javascript - Post 请求缺少边界 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608016/

相关文章:

jquery - 使用子行对表进行排序

javascript - webgl earth javascript 中的 fancybox html

javascript - 为什么 C++ CGI form_iterator 值没有进入 XMLHttpRequest 异步 Ajax 请求?

php - 静态数组 vs Mysql + PHP vs 通过ajax更新的XML文件

javascript - 如何解决此问题无法加载插件 : filemanager from url/filemanager/plugin. min.js

html - 如何在CSS中为动画背景图像设置原始图像

javascript addEventListener 不添加事件

javascript - 在 Chrome 和 Mozilla 中显示选择上传的图像

javascript - 更改跨度文本?

ajax - 将一系列同步 AJAX 请求转换为异步请求