json.parse выдает Uncaught SyntaxError: Неожиданный токен (Django json сериализованный набор запросов) - PullRequest
3 голосов
/ 04 октября 2011

Я испытываю ошибку Uncaught SyntaxError: Unexpected Token при попытке проанализировать данные json

Это мой код 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'
            )

from debug serialized_q - это строка в юникоде, содержащая действительный json u'valid_json'

1 Ответ

13 голосов
/ 04 октября 2011

Когда вы устанавливаете dataType на json, jQuery анализирует данные для вас.Поэтому вам не нужно указывать JSON.parse, вы можете просто сослаться на data как на обычный объект Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...