代码之家  ›  专栏  ›  技术社区  ›  Nauman Zafar

Post请求缺少边界标头

  •  0
  • Nauman Zafar  · 技术社区  · 6 年前

    csv FileReaderAPI 加载文件,然后通过 ajax . 但我收到以下错误。

    对于请求“POST/api/upload”[缺少边界标头]

    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" 收割台手动导致问题。我没有使用,但仍然得到上述问题。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Musa    6 年前

    如果需要将数据作为 文件 ,必须使用FormData对象通过ajax发送多部分/表单数据。

         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);
           }
         });
    
        2
  •  0
  •   ivion    6 年前

    $.ajax({
           url:"http://localhost:9000/api/upload",
           type:"POST",
    
           contentType: "application/json; charset=utf-8",
           dataType: "json",
    
           data: JSON.stringify(payload),
           success: function(data){
               console.log(data);
           }
         });
      });
    

    或者看看 Jquery Ajax Posting json to webservice