2012-05-08 3 views
0

У меня есть следующее представление, которое я получаю от модели, а затем сериализую его в JSON.Как поймать и просмотреть ответ JSON?

views.py

def polling(request): 
    if request.is_ajax(): 
     data = UserReview.objects.filter(movie_id=request.GET['m_id']) 
     serializers.serialize('json', data) 
     return HttpResponse(data, mimetype='application/json') 
    else: 
     raise Http404 

На стороне клиента я хочу показать это содержание в настоящее время. Я использую функцию jQuery getJSON, чтобы архивировать это. Он ничего не покажет, и setTimeout не работает. Но я получаю ответ, когда я отлаживаю его с помощью firebug, однако он не вызывает функцию alert() для просмотра данных. Я пытался выяснить, что проблема может быть в течение некоторого времени. Так что, интересно, что-то не так с моим сценарием?

Javascript

function polling() { 
    $.getJSON( "/polling/", 
       {m_id: {{movie_info.id}} }, 
       function(data) { 
        alert(data) 
        setTimeout(polling, 5000) 
       }); 
    }; 
+1

Ничего себе, 10,5 млн. Вопросов по всему сайту .... – Blazemonger

+0

@blazemonger Каждая итерация лучше ответить нет? : P – starcorn

+2

@Blazemonger это на самом деле сообщение (вопрос + ответ), например [10000000] (http://stackoverflow.com/questions/9999064/ember-js-select-view-template-by-model-type-object- значение/10000000 # 10000000). Но все еще удивительно ~ – okm

ответ

1

Некоторые общие методы, которые помогут вам выяснить, что это неправильно.

  1. Использование console.log очень свободно на переднем конце, чтобы убедиться, что все идет по плану

  2. http://api.jquery.com/jQuery.ajax/ Callback функции, как предложено в комментарии, убедитесь, что вы по крайней мере LOGG ошибка

  3. https://docs.djangoproject.com/en/dev/topics/logging/ установить отладочный регистратор, убедитесь, что вы можете увидеть, что происходит и что Джанго фактически возвращается в качестве JSON ,

  4. http://docs.python.org/library/pdb.html Лучше еще сбросить этот badboy в любом месте вашего кода и УБЕДИТЕСЬ, что все идет правильным путем. Если ваш успех не вызван на передний план, я ставлю, что ошибка находится в django! узнать где.

  5. Вы можете просмотреть ошибки на вкладке HTML в firebug, если debug=True, или вы можете просто запросить /polling/ через ваш браузер и просмотреть экран ошибки django.

с использованием некоторых или любой из них должен поставить вас в прекрасном месте, чтобы решить вашу проблему Джанго DEV сервер делает его абсолютным легкость ветер через эти ошибки, пожалуйста, сделать некоторые исследования и выяснить много много отладочных инструментов из доступно вам!

1

Я новичок во всем этом, но вы пытались использовать.

$ .ajax ({

 url: "/Build/AllStatuses", 
     dataType: 'json', 
     success: function (buildstatuses) 

Это, как я называл мой и JSON, кажется, работает.

+0

Да, я тоже это пробовал. Он по-прежнему не будет выводить на выходе из модели JSON. Во всяком случае, он представит простой httpresponse. Поэтому я несколько думаю, что ошибка может быть, когда я сериализую модель в JSON. Однако я не уверен. – starcorn

Смежные вопросы