Django:View返回JSON内容字典,如何在Javascript中解码

Django:View返回JSON内容字典,如何在Javascript中解码,javascript,django,json,simplejson,Javascript,Django,Json,Simplejson,让我解释一下我想做什么,如果有人能指出正确的方法&一个解决我陷入困境的方法,那就太好了 有人键入url www.ABC.com/showItem/Blackberry 我在数据库中查找“Blackberry”并找到它的数据,现在我想一页一页地显示它的详细信息 因此,我认为我这样做 return\u data=simplejson.dumps(response\u dict) return render_to_response('workmodule/show_item_details.html'

让我解释一下我想做什么,如果有人能指出正确的方法&一个解决我陷入困境的方法,那就太好了

有人键入url
www.ABC.com/showItem/Blackberry

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

因此,我认为我这样做
return\u data=simplejson.dumps(response\u dict)

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

在myHTML中,我这样做
data\u from\u django={{farm\u complete\u data}}

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

问题2
:另一个问题是所有引号都被替换为
,因此脚本中断。如果上述方法正确,如何正确“解码”字符串

注意:
我以前使用过jquery的
.ajax
功能,如果您已经在页面上并调用后端,它会非常有效。这种情况下的视图以与上面相同的方式返回数据&数据没有转义。或者,当我的ajax成功:或错误:函数处理它时,它似乎是这样


谢谢你花时间看这个问题。

问题1:事实上,差不多是这样


问题2:不要对其进行解码,将其传输到safe:{{farm_complete_data | safe}},这样它就不会试图用html对其进行转义。

为什么要将其传递到模板?您只需要JSON,因此在视图中,执行以下操作:

return simplejson.dumps(response_dict)

那么就不必担心编码/引用了。

谢谢Yoni!这很有效。这很好,因为我是从db加载的。如果不安全呢?问问就知道了。这会造成安全威胁。例如,对任何包含
的JSON进行尝试。修复方法是在
转储
-ing时使用
jsonecoderforhtml
,如前所述。Trevor是对的,至少如果您允许在传递回JSON的数据中使用任意用户输入的字符串-但是当我在2010年初最初发布这个答案时,SimpleJSON还没有添加JSONeCoderForHTML类:)(它在SimpleJSON 2.1中是新的,几个月后发布)。好的,这只是数据。我需要格式化并显示它,因此需要将它分配给一个javscript变量。这没有意义。如果你在Django模板中进行格式化,为什么要将其转换为JSON?但是如果你通过Ajax调用发送它,Javascript将进行格式化和显示。也许我没有正确解释它没错。视图发回的数据负载是一大堆信息。这是一个相当复杂的对象。我没有使用dJangos模板系统,但在任何一种情况下,这个复杂的对象都会在页面生命周期中被多次使用。它可以被编辑,更改可以被丢弃到原始状态或最终保存。这不是一个简单的rend我也会看看django模板,看看是否可以用另一种方式完成。如果你认为我的方法不正确,请告诉我。谢谢,我真的很感谢你的关注。