循环后Javascript重新加载页面

时间:2014-07-03 01:55:50

标签: javascript jquery

这是我的javascript代码。我想要的是在运行此循环后,我想将页面重新加载到其他页面。但是,下面的代码甚至在我的数据发送之前重新加载页面。

编辑:我按要求将发送文件添加到服务器代码

function handleFileUpload(files,obj)
{
   for (var i = 0; i < files.length; i++) 
   {
        var fd = new FormData();
        fd.append('file', files[i]);
        fd.append( 'date_taken', files[i].lastModifiedDate )
        var status = new createStatusbar(obj,files[i]); 
        //Using this we can set progress.
        status.setFileNameSize(files[i].name,files[i].size);
        sendFileToServer(fd,status);

   }
   location.reload()

}

function sendFileToServer(formData,status)
{
    var uploadURL ="<?php echo base_url('test/upload'); ?>"; //Upload URL
    var extraData ={}; //Extra Data.
    var jqXHR=$.ajax({
            xhr: function() {
            var xhrobj = $.ajaxSettings.xhr();
            if (xhrobj.upload) {
                    xhrobj.upload.addEventListener('progress', function(event) {
                        var percent = 0;
                        var position = event.loaded || event.position;
                        var total = event.total;
                        if (event.lengthComputable) {
                            percent = Math.ceil(position / total * 100);
                        }
                        //Set progress
                        status.setProgress(percent);
                    }, false);
                }
            return xhrobj;
        },
    url: uploadURL,
    type: "POST",
    contentType:false,
    processData: false,
        cache: false,
        data: formData,
        success: function(data){
            status.setProgress(100);

            $("#status1").append("File upload Done<br>");         
        }
    }); 

    status.setAbort(jqXHR);
}

1 个答案:

答案 0 :(得分:0)

Javascript是异步的,这意味着它继续执行代码,即使请求发送到某个地方,你必须等到文件上传,因为你发送ajax调用时使用Jquery ajax,你可以处理它与 .done (这意味着请求已经完成)现在你准备好接下来的行动了,在你重新加载的情况下,或者希望这对你有所帮助。