我正在开发一个应用程序,我想在其中实现一些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之间返回一个错误。任何人都知道为什么?
答案 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。