Django:View返回JSON content_dictionary,如何在Javascript中解码

时间:2010-01-09 21:35:59

标签: javascript django json simplejson

让我解释一下我正在尝试做什么,如果有人可以指出正确的方法来做到这一点&解决我遇到的问题会很棒!

有人输入网址

www.ABC.com/showItem/Blackberry

我在我的数据库中查找“Blackberry”并找到它的数据,现在我想在一页上显示它的详细信息。

因此在视图中我这样做

return_data=simplejson.dumps(response_dict)

return render_to_response('workmodule/show_item_details.html', {"item_complete_data": return_data}, context_instance=RequestContext(request))

在myHTML中,我这样做

data_from_django = {{ farm_complete_data }}

Question 1:这是访问HTML中JSON数据的正确方法吗?不知何故,我认为应该有更好/更清洁的方式。

Question 2:另一个问题是所有引号都被"""替换,因此javscript会中断。如果以上是正确的方法,如何正确“解码”字符串。

Note :我之前使用过jquery的.ajax函数,如果你已经在页面上并调用后端,它的效果很好。在这种情况下的观点以与上述相同的方式返回数据。数据未被转义。或者说,当我的ajax成功时:或者错误:函数处理它。

感谢您花时间看看这个。

2 个答案:

答案 0 :(得分:8)

问题1:实际上这是正确的。

问题2:不要对其进行解码,将其管道安全:{{farm_complete_data | safe}}所以它不会尝试为您进行html转义。

答案 1 :(得分:0)

为什么要将它传递给模板?你只需要JSON,所以在视图中,这样做:

return simplejson.dumps(response_dict)

然后就不用担心编码/引用了。