2016-03-31 10 views
0

Ich arbeite an einer App und ich möchte einige Blobs darin implementieren, so dass ich Web-Arbeiter im laufenden Betrieb tun kann, ohne eine andere Datei manuell erstellen zu müssen. Hier ist mein Code. Ich kann nicht herausfinden, warum es nicht funktioniert.XMLHttp Request und Blobs

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); 

Es gibt einen Fehler irgendwo zwischen request.onload und request.send zurück. Hat jemand eine Idee warum?

+0

in Ihrem Blob keine Art gibt. Es sollte 'var blob = neuer Blob ([' ... '], {typ:" application/javascript "})' sein. – Xufox

+0

Nein. Beeinflusst es nicht. Es funktioniert ohne die Art von Blob für das, was ich gerade mache. Ich kann eine Zeichenfolge ohne den Typ an die Konsole ausgeben. –

+0

Ich weiß, das ist nicht der einzige Fehler. Es ist nur das erste, was mir aufgefallen ist. – Xufox

Antwort

0

Es scheint, dass Sie einen Syntaxfehler in Ihrem Blob-Code haben. Jedesmal, wenn man schreiben:

statement1 \ 
statement2 

, da dies analysiert wird:

statement1 statement2 

Das Fehlen eines Semikolon ist der Grund für die Syntaxfehler (SyntaxError: fehlende ; vor Anweisung“) .

Sie sollten Semikola zwischen die Anweisungen setzen und optional \n\ statt nur \ verwenden.

Dann sollten Sie auch den Typ für den Blob einschließen.

sollte diese Arbeit:

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); 
+0

danke. Ich denke, der Grund meines Problems war nicht das "\ n" in meinem Code. –