报错例子如下:
view code:
def home(request):
import json
info_obj = Info.objects.all()
json_data = serializers.serialize("json", info_obj)
return render_to_response("pique/home.html", {
'json_data':json_data}, context_instance=RequestContext(request))
JavaScript code:
var data = jQuery.parseJSON('{
{json_data}}');
console.log(data);
The error Uncaught SyntaxError: Unexpected token &:
var data = jQuery.parseJSON('[{
"pk": 1, "model": "pique.eat" ...
解决方法如下:
必须使用"而不是"在字符串中。
该字符串由自动转义render_to_response。
为避免这种情况,必须标记json_data安全。使用mark_safe它。
from django.utils.safestring import mark_safe
return render_to_response(
"pique/home.html",
{
'json_data':mark_safe(json_data)
},
context_instance=RequestContext(request))