Django からフロントのjavascriptに配列で各要素がStringのデータを与えたかった。けどJSON.parseでうまくいかずevalで対応

題名にある通り、Django(サーバー)からフロントのJavascriptに、以下のような各要素がStringの配列を渡したかったけど、エラーがでていました。

Django側

data = ["A", "B"]
render("test.html", {"data":data})

javascript側

var data = JSON.parse("{{data|safe}}")

とりあえずの解決策(evalを使う)

フロント側でevalで評価してしまうことにしました。

javascript側

var data = eval("{{data|safe}}")

evalはセキュリティ上あまり良くないので、うまく使い分ける必要がありそうです

とりあえずの解決策としてメモしておきました。

タイトルとURLをコピーしました