私はバックエンドとしてnodeJS/expressを使用し、テンプレートエンジンとしてjadeを使用します。私のJavascriptの一部では、サーバーからいくつかの変数が必要でした。一般的に、これは次のように行うことができます。jadeの初期jsonデータをエスケープする方法は?
script(type='text/javascript').
var user = !{JSON.stringify(userObject)};
すべてがuserObject
が<script>[some text]</script>
ブロックを有している場合を除いて正常に動作します。このブロックがuserObject
に表示される理由を聞かないでください。これは内部的なものであり、このケースを処理したいからです。
Javascriptのパーサが私の埋め込みがエラーで壊れますHTMLパーサよりも早く実行されるという事実のため、次は、メイン<script>
を閉じたため、エラーが原因about me</script>
ラインに起こる
<script>
var user = {
name: 'Erik',
about: '<script>about me</script>'
};
</script>
Uncaught SyntaxError: Invalid or unexpected token
タグ。
私の質問です:このエラーを処理する適切な方法は何ですか?
同様の問題(アポストロフィもこの場合ブレークを引き起こす)がある場合、必要なデータを取得するためのAPIコールを作成し、ノードの$ httpまたはスクリプトタグのajaxを使用して呼び出します。 –
追加のリクエストで初期データを取得するのは嫌です。それが失敗すればどうなりますか? – Erik
あなたがあなたのウェブサイトを提供しているサーバと全く同じ機能を使用している場合、すでに失敗していない場合は失敗することはまずありません。 –