Error: Uncaught SyntaxError: Unexpected token &

报错例子如下:

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))

猜你喜欢

转载自blog.csdn.net/weixin_45743420/article/details/105920602