如何确保FileReader.onload()不刷新页面

时间:2017-11-23 06:09:28

标签: javascript jquery google-drive-api xmlhttprequest

我正在尝试将一个表单和一个文件上传到谷歌驱动器,在上传文件时,使用FileReader,文件上传但页面被重定向到json成功页面,如下所示。

{"result":"success","data":"\"https://drive.google.com/file/d/1dFXWqvAPu68""} 

var reader = new FileReader();
var file = document.getElementById('attach').files[0];
reader.onload = function() {
        document.getElementById('fileContent').value = reader.result;
        document.getElementById('filename').value = file.name;
        document.getElementById('gform').submit();
        }
reader.readAsDataURL(file);

我不希望页面被重定向,当我尝试使用XMLHttpRequest将表单数据与文件一起发送时,文件正在上传,但它无效。 我怎么处理这个?

1 个答案:

答案 0 :(得分:0)

reader.onload = function() {

  event.preventDefault()
  // your code here

}

https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

事件接口的preventDefault()方法告诉用户代理,如果未显式处理事件,则不应像通常那样采取其默认操作。该事件将继续照常传播,除非事件监听器之一调用stopPropagation()stopImmediatePropagation(),这两个事件之一立即终止传播。