XMLHttp请求和Blob

时间:2016-03-31 16:10:45

标签: javascript ajax web-applications blob

我正在开发一个应用程序,我想在其中实现一些blob,这样我就可以动态地完成Web工作,而无需手动创建另一个文件。这是我的代码。我无法弄清楚它为什么不能工作。

var blob = new Blob(["onmessage = function(e){ var request = new XMLHttpRequest() \
request.onload=function(e){ console.log(e) } \
request.open('GET', 'text.txt') \
request.send(); }"]);
var blobURL = window.URL.createObjectURL(blob);

它在request.onload和request.send之间返回一个错误。任何人都知道为什么?

1 个答案:

答案 0 :(得分:0)

您的blob代码中似乎有语法错误。每次你写这个:

statement1 \
statement2

它被解析为:

statement1 statement2

缺少分号是语法错误的原因(SyntaxError:在语句”之前缺少;

您应该在语句之间加上分号,并可选择使用\n\而不是\

然后,您还应该包含blob的类型。

这应该有效:

var blob = new Blob(["onmessage = function(e){\n\
    var request = new XMLHttpRequest();\n\
    request.onload = function(e){\n\
      console.log(e);\n\
    };\n\
    request.open('GET', 'text.txt');\n\
    request.send();\n\
  };"], {
    type: "application/javascript"
  });
var blobURL = window.URL.createObjectURL(blob);

或者,使用原生支持多行文字的template literals