2017-02-28 11 views
0

次のように実行されるDjangoのビューの一部である:表示応答

def traxio_advice(request): 
    ....... 
    ....... 
    elif calculation['statusCode'] == 400: 
     response = JsonResponse({'message': 'The calculation is not available! Please try another mileage.'}, status=500) 
     return response 

とDjangoテンプレートで次のように私は、AJAX呼び出しを持っている:

$.ajax({ 
    type: 'POST', 
    url: '{% url 'traxio_advice' %}', 
    data: { 
     firstname: $('input[name=firstname]').val(), 
     csrfmiddlewaretoken: '{{ csrf_token }}' 
    }, 
    success: function (data) { 
     ...... 
    }, 
    error: function (data) { 
     var message = $.parseJSON(data.responseText).message; 
     $('#calculation-error').removeClass('hidden').html(message) 
    }, 
    beforeSend: function() { 
     $('#result-content').html('<div class="loader"></div>'); 
    } 
}) 

問題はエラー機能にあります。私は私が欲しいものを手に入れるので、データは正しい。

message = "The calculation is not available! Please try another mileage." 

メッセージは、​​のIDで表示されていません。

は、代わりに私は私が何をしないのです

POST http://127.0.0.1:8000/master/traxio_advice/ 400 (Bad Request) 

取得画面とコンソールにbeforeSend機能からローダーを参照してください?誰にも同様の問題を持っている希望の場合、あなたのエラーについてextende情報については

+0

あなたはもともと、ステータスを500に設定しているので、私は答えました。今度はあなたのコードを変更して、ステータスが400になっていないことを – e4c5

+0

あなたのサーバが実際に内部サーバエラー(ステータスコードを400に設定している)の場合、完全なstactraceを投稿する – e4c5

+0

@ e4c5私は、間違い。 – Boky

答えて

0

を設定します。

実際には、問題はbeforeSend関数とテンプレートにありました。

idが#calculation-errorのdiv(エラーを表示したい部分)は、idが#result-contentのdiv内にあります。

しかし、beforeSend関数では、divの内容をid #result-contentに置き換えました。したがって、このようなテンプレートで

は:

<div id="result-content"> 
    <div class="loader"></div> 
</div> 

私はID #calculation-errorでのdiv内のエラーを表示してみました。そのdivが存在しないため表示できませんでした。

-1

は、単に情報のため

DEBUG = True 
あなたのsettings.pyで

関連する問題