2013-01-05 4 views
1

Я знаю, что, например:Как отлаживать AJAX запрос в Джанго

def home(request): 
    if request.method == 'POST': 
     k = 'p' % 1 
     return HttpResponse(simplejson.dumps(dict()), mimetype='application/javascript') 
    else: 
     k = 'p' % 1 
     return render_to_response('index.html',locals()); 

url(r'^$', 'app.home'), 

Если я использую браузер, чтобы посетить домашнюю страницу, Джанго будет возвращать страницу отладки мне и показать, что есть ошибка в k = 'p' % 1

Но если я использую $.ajax(), чтобы отправить сообщение в этой точке зрения, консоль хрома только показать POST http://(some url here):8000/ 500 (INTERNAL SERVER ERROR)

так есть ли хороший способ отладки второй случай? Я понятия не имею об отладке django, есть ли у кого-нибудь лучший способ отладить django?

благодаря

ответ

1

посмотреть на sentry (и соответствующую ворона)

(вкладка Network должна быть в состоянии показать вам запрос и соответствующий ответ. Я считаю, что новые Джанго версия даже дать вам более голой версии стека, если запрос был ajax)

0

В ajax есть error CallBack. Он вытолкнет фактическую ошибку.

$.ajax({ 
     type: 'POST', 
     url: '{% url 'url_name_for_your_view_here' %}', 
     data: {'csrfmiddlewaretoken': '{{csrf_token}}'}, 
     dataType: "text", 
     success: function(response) { 
      //do something here if everything goes well 
     }, 
     error: function(rs, e) { 
      alert(rs.responseText); //throw actual error, just for debugging purpose 
      alert('Oops! something went worng..'); // alert user that something goes wrong 
     } 
    }); 
+1

Если он испытывает 500 ошибок , его приложение, скорее всего, сбой, и что ответ ajax потенциально не может быть отправлен вообще – darko

0

Существует несколько сторонних приложений, облегчающих отладку ajax. Я использовал это в прошлом с успехом: https://github.com/yaniv-aknin/django-ajaxerrors

Или, если вы предпочитаете не использовать приложения, инструменты разработчика Chrome, вероятно, будет достаточно, как это предложено в этой теме: Django: Are there any tools/tricks to use on debugging AJAX response?

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