Jquery ajax页面会在发布请求时自动重定向

时间:2015-11-13 07:33:29

标签: javascript jquery ajax bonita

尝试通过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.');
    }
  });

}

2 个答案:

答案 0 :(得分:2)

  

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

document.write(imageFiles.files[i].name);会清除您的文件。您必须附加一个包含文件名称的新元素,以便在您的网站上显示它们。为此,您可以使用jQuery

创建一个新元素

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

答案 1 :(得分:0)

其实我在文档中写了上传的文件名。所以我删除了下面的行

文件撰写(imageFiles.files [I]。名称);