2016-07-25 4 views
0

HTMLビューからDjangoバックエンドにデータを送って処理したいのですが、バックエンドはurlをHTMLビューに戻して別のページにリダイレクトします。 ---Djangoバックエンドからajaxのsuccess()にURLを送ってください

ページ1 ----ユーザーの入力データのAjax --->バックエンド---プロセス--- 2ページへのURL ---アヤックス - >ページ2

:それはこのようなものです

問題は、ユーザーのデータを処理した後にURLをAjaxに戻す方法がわからないため、window.location.href = '/'を使用してリダイレクトする必要があります。しかし、私はコードがこのようにきれいではないと思います。バックエンドからのAjaxの成功にURLを送る方法があるのだろうかと思います。ここで

はコードnはHTMLです:

function doSomething(data){ 
    $.ajax({ 
     type: "POST", 
     url: URL_POST_BY_AJAX, 
     data: { 
      'data' : data, 
      }, 

     success: function (response) { 
      window.location.href = '/'; 
     }, 
     error: function (data) { 
      alert('failed'); 
     } 
    });} 

私を助けてください。ありがとうございました!あなたの処理ビューで

答えて

1

あなたのJSで、その後
from django.http.response import JsonResponse 
def whatever_your_view_name_is(request): 
    (data processing...) 
    return JsonResponse({'url': the_url_to_page_2) 

 (...) 
     success: function (response) { 
      window.location.href = response.url; 
     }, 
     (...) 
+0

は、それが実際に動作する、あなたにRafalmpをありがとう! :) –

関連する問題