2016-05-17 3 views
0

予期しない識別子コードの次の行がタイトルエラーを生成する:クロムコンソールで捕捉されなかっにSyntaxError:サーバー変数

var tweets = <%= tweets %>; 

それは以下のように表示されます

var tweets = [object Object]; 

なぜエラーでありますスローされている?同様の質問から、それは構文の問題であるようですが、上記の構文をどのように変更することができないのですか?

送信する前にオブジェクトを最初に文字列化していましたが、これは予期しない文字が見つかったエラーを示しました。

+0

このスクリプトを実行しますconsole.log(<%= tweets %>);入力データをチェックします。 –

+0

[オブジェクトオブジェクト]と表示されます。 – user4357505

答えて

0

オブジェクトを文字列に変換すると、[object Object]が得られます。これはテンプレートシステムで起こっていることです。

例:

var obj = { 
 
    stuff: 'things' 
 
}; 
 
document.write(obj);

あなたは、そのオブジェクトのJSON表現をプリントアウトすることにより、同等のオブジェクトを作成することができます

var tweets = <%- JSON.stringify(tweets) %>; 
//    ^-- Change to - instead of = to avoid escaping 

JSONでのサブセットであるので、これは動作しますJavaScriptを使用することで、JavaScript内で直接オブジェクトを作成することができます。

+0

応答をお寄せいただきありがとうございます。変数を文字列にすると、引用符が&#34 – user4357505

+0

@ user4357505として表示されているため、Uncaught SyntaxError:Unexpected token&のエラーが発生するようになりました。それを出す。それは印刷テキストをどのように処理するかを担当することになります。 –

+0

@Mike_Cあなたは何を意味するのか分かりませんか? – user4357505

関連する問題