通过Javascript将大量数据加载到浏览器,然后发出XML请求

时间:2018-04-21 05:59:22

标签: javascript ajax xml request large-data

我需要发送XML请求,其中包含通过填写HTML表单获得的文件的值和内容。有5个文件,其中一些有aprox。 70 MB或更多。所以我在javascript中使用了一些函数,它加载文件的内容,另一个函数汇编XML请求并发送它。 问题是:在我点击按钮加载文件后,浏览器崩溃了(但我可以通过浏览器打开这些文件 - 没关系)。文件太大,因此浏览器无法处理它。 问题出在哪里?以及如何处理它?我以为它可能会暂停,但真的不知道...

加载文件的功能:

function getFile1Content() {
  var file = document.getElementById("file_zdr").files[0];
  if (file) {
    var reader = new FileReader();
    reader.readAsText(file, "UTF-8");
    reader.onloadend = function (evt) {
        fileContent1 = evt.target.result;
        loaded++;
        console.log("FC1 " + fileContent1)
    }
    reader.onerror = function (evt) {
        console.log("ERROR FC1");
    }
  }
}

感谢您的想法!

1 个答案:

答案 0 :(得分:0)

工作原理是浏览器向服务器发送请求以完成所有繁重的工作。因此,基本上,您向服务器发送请求以执行此操作并返回该请求,以便用户可以使用数据。

这似乎对我来说是您正在尝试加载许多文件。浏览器为什么打开文件?您要将它们发送到服务器吗?还是您正在搜索它们?无论哪种方式,使用浏览器处理多个大文件都不是一个好主意。

如果您要搜索文件:您应该使用文件上传表单<form><input accept="*" type="upload"></form>将文件发送到服务器,并让服务器临时保存它们,并在文件发送后进行搜索,并返回您要向用户显示的内容。

我愿意帮助您解决这个问题!