2017-06-19 182 views
2

我得到了很多來自Django的數據轉化爲模板:如何將單引號符號(')轉換爲JSON.parse的字符串?

var dataFromServer = JSON.parse('{{ delivery_provider|jsonify }}'); 

的任何時間進入Django的數據提出了這樣的

{"id": 1, "company_name": "User's company", "address": null } 

一些符號'我的javascript代碼崩潰,錯誤

Uncaught SyntaxError: Unexpected identifier 

因爲符號'在正面對字符串有錯誤的解釋。

如何通過Python/Django來逃避這種引用符號?或者,在前端存在一些解決方案?

+0

你能提供一個例子嗎?因爲解析你的測試數據適合我,如果你拋棄'JSON.parse' https://jsfiddle.net/0v4j9qs5/。因此,請嘗試從您的js代碼中刪除'JSON.parse',然後再試一次 – Denny

+0

您需要確保'{{delivery_provider | jsonify}}生成的字符串全部替換爲'''' –

+0

Mikael ,我不是Python/Django程序員,我現在沒有如何與他一起工作逃脫符號 – ivan

回答

1

看看escapejs template tag。 來自django文檔:

轉義字符以用於JavaScript字符串。

所以,你的情況可能是:

var dataFromServer = JSON.parse('{{ delivery_provider|jsonify|escapejs }}'); 

另外,如果你使用django-jsonify,沒有在文檔使用示例:

var items = {{ items|jsonify }}; 

這意味着,提交人打算跳過你所做的部分JSON.parse並將對象直接放到JavaScript代碼中。

相關問題