jquery ajax POST 使用 jquery GET 作为表单数据输入

jquery ajax POST with jquery GET as formdata input

我正在尝试调用 jquery ajax POST 请求,该请求将表单数据作为位于文件服务器上的多个文件。 这是我的 ajax 请求;

var formData = new FormData();
$.ajax({
        url: 'url',
        method: 'POST',
        contentType: false,
        processData: false,
        data: formData,
        beforeSend: function (xhr) {
            xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
        },
        success: function(res){
            console.log('successfully')
        },
        error: function(){
            console.log('error')
        }
    })

其中 formData 的文件位于文件服务器上的某处,我尝试使用 jquery get 获取并尝试将 formData 添加到文档准备就绪中,如下所示;

$.get("http://localhost/file.xml",  function(data) { 
    var data1 = data;
    var file = new File([data1], "file.xml");
    formData.append('file', file);
});

是否可以在 ajax POST 请求中传递或创建文件位于文件服务器上的 formData?

您需要将其转换为 blob

$.ajax({
  url: "http://localhost/file.xml",
  method: "GET",
  dataType: "text"
}).done(function( content ) {
  var blob = new Blob([content], { type: "text/xml" });
  formData.append("file", blob);
});