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.write(imageFiles.files[i].name);

于 2015-11-13T08:47:20.860 に答える