如何将单引号符号(')转换为JSON.parse的字符串?
问题描述:
我得到了很多来自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来逃避这种引用符号?或者,在前端存在一些解决方案?
答
看看escapejs
template tag。 来自django文档:
转义字符以用于JavaScript字符串。
所以,你的情况可能是:
var dataFromServer = JSON.parse('{{ delivery_provider|jsonify|escapejs }}');
另外,如果你使用django-jsonify,没有在文档使用示例:
var items = {{ items|jsonify }};
这意味着,提交人打算跳过你所做的部分JSON.parse
并将对象直接放到JavaScript代码中。
你能提供一个例子吗?因为解析你的测试数据适合我,如果你抛弃'JSON.parse' https://jsfiddle.net/0v4j9qs5/。因此,请尝试从您的js代码中删除'JSON.parse',然后再试一次 – Denny
您需要确保'{{delivery_provider | jsonify}}生成的字符串全部替换为'''' –
Mikael ,我不是Python/Django程序员,我现在没有如何与他一起工作逃脱符号 – ivan