2

尝试通过ajax上传多个文件,但上传后自动重定向到另一个空白页面,只显示上传文件的名称

以下是html标签

这是javascript函数

function upload(){

 var projectId = document.getElementById("projectId").children[0].value;
   var referenceNo = document.getElementById("referenceNo").value;
   var createdBy = document.getElementById("initiatedBy").value;
if(projectId == null)
{
    alert('Please select project first');
    return;
}

var formData = new FormData();
var imageFiles = document.getElementById("fileId"),
filesLength = imageFiles.files.length;
for (var i = 0; i < filesLength; i++) {
  document.write(imageFiles.files[i].name);
    formData.append('files',imageFiles.files[i]);   

}

$("#fileId").val('');

var methodName = 'uploadBPMFiles';
formData.append('refId',referenceNo);   
formData.append('projectId',projectId);
formData.append('uploadedBy',createdBy);
formData.append('processType','EOT');

$.ajax({
    url: webUrl+methodName,
    data: formData,
    processData: false,
    type: 'POST',
    cache:false,
    dataType: "json",  
    contentType: false, 
    enctype     : "multipart/form-data",
    success: function(responseData) {
    alert('success');
    /**console.log('responseData: '+responseData);
    console.log('responseData: '+responseData);
    var obj = (responseData.downloadURLs);
    console.log(obj)
    for (var i in obj) {
      console.log(obj[i]);
      //$("response")<a href="http://www.test.com/b6">World</a>
      //$('#response').append('<a href="'+obj[i]+'">Link</a>');

    }
    //console.log($('#response').val());
    //console.log('end');   
**/
    }   
    ,
    error: function (responseData) {
        console.log('POST failed.');
    }
  });

}

4

2 回答 2

2

注意:当 document.write 写入文档流时,在关闭(加载)的文档上调用 document.write 会自动调用 document.open 来清除文档。

document.write(imageFiles.files[i].name);将清除您的文档。您必须使用文件名称附加一个新元素才能在您的站点上显示它们。为此,您可以使用 jQuery 创建一个新元素

$("<span>").text(imageFiles.files[i].name).appendTo("body");

于 2015-11-13T08:54:23.050 回答
0

实际上我正在将上传的文件名写在 document.xml 中。所以我删除了下面的行

document.write(imageFiles.files[i].name);

于 2015-11-13T08:47:20.860 回答