json.parse给出Uncaught SyntaxError:Unexpected Token(Django json序列化查询集)

时间:2011-10-04 14:42:38

标签: jquery ajax django json

我在尝试解析json数据时遇到错误Uncaught SyntaxError: Unexpected Token

这是我的ajax代码(json2.js):

       $.ajax({
            type: 'POST',
            url: '/best_choose/invoice/item_search.json/',
            data: jsonQuery,
            dataType: 'json',
            contentType: 'application/json; charset=utf-8',

            success: function(data){
                    var parsed = JSON.parse(data);
                    //do stuff
             }});

我的观点:

    json_serializer = serializers.get_serializer('json')()
    serialized_q = json_serializer.serialize(queryset, ensure_ascii=False)

    return HttpResponse(
                serialized_q, mimetype='application/json'
            )
来自debug serialized_q的

是包含有效json u'valid_json'

的unicode字符串

1 个答案:

答案 0 :(得分:13)

当您将dataType设置为json时,jQuery会为您解析数据。所以你不需要通过JSON.parse,你可以将data称为普通的Javascript对象。