2016-03-31 10 views
0

私はアプリで作業しています。その中にいくつかのブロブを実装したいので、別のファイルを手作業で作成する必要はありません。ここに私のコードです。なぜそれがうまくいかないのか分かりません。XMLHttpリクエストとBLOB

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

。 'var blob = new Blob([' ... ']、{type:" application/javascript "})'でなければなりません。 – Xufox

+0

それには影響しません。それは、私がとにかくやっていることのために、ブロブのタイプなしで動作します。私は型なしで文字列をコンソールに出力することができます。 –

+0

私は知っている、これは唯一の間違いではない。それは私が気づいた最初のことです。 – Xufox

答えて

0

あなたのBLOBコードに構文エラーがあるようです。あなたがこれを書い毎回:

statement1 \ 
statement2 

このように解析されている:

statement1 statement2 

セミコロンの不足が構文エラーの原因である(SyntaxError:文の前;不足している」を) 。

ステートメントの間にセミコロンを入れ、オプションで\の代わりに\n\を使用する必要があります。

次に、ブロブのタイプも含める必要があります。

これは動作するはずです:あなたのブロブには型がありません

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

ありがとうございます。私は自分の問題の根源が自分のコードに "\ n \"を持っていないと思う。 –

関連する問題