2017-09-21 21 views
1

これは最初のページです。そこにはURLをリクエストしてリクエストデータを渡すためにajaxを使用できます。テンプレートにスキップして、リクエストデータをajaxを使用してレンダリングするにはどうすればよいですか?

enter image description here

私のAjaxのコードは以下の通りです:views.pyで

 $.ajax({ 
     type:'post', 
     url:'/app_api/server_payment/', 
     contentType:'application/json', 
     data:JSON.stringify({'params':buy_data}), 
     dataType:'json', 
     success:success_func 
    }) 
    function success_func(response){ 
     console.log(response) 
    } 

def server_payment(request): 

    if request.method == 'POST': 
     is_login = request.session['is_login'] 

     if is_login: 

      print ('server_payment_2 ', is_login) # it prints 
      return render(request, 'app_admin/payment.html') 

     else: 
      return render(request, 'frontend/login.html') 

views.pyで私はpayment.htmlをレンダリングし、スキップしたいですそれに。

これは私のpayment.htmlです。

enter image description here

しかしserver.htmlページはpayment.htmlに進んでいなかった、と私はそれを実現する方法がわかりません。

私はself.location=/app_api/server_payment/を使ってみましたが、postメソッドでデータを渡すことはできません。

最初のスナップショットにはいくつかの詳細情報があります。

あなたが任意のロジックを作成し、 documentation

デフserver_payment(リクエスト)でJsonResponce request.is_ajax() より戻る前にAJAXヘッダーをチェックする必要が

答えて

0

if request.method == 'POST': 
    is_login = request.session['is_login'] 

    if is_login: 

     print('server_payment_2 ', is_login) # it prints 
     if request.is_ajax(): 
      return JsonResponse({'foo': 'bar'}) 
     return render(request, 'app_admin/payment.html') 

    else: 
     return render(request, 'frontend/login.html') 
+0

を私は、doc、有用なものを見つけていないお読みください。どのようにそれを実現するためにそれを使用することができます、あなたはより詳細になることができますか? – 244boy

+0

私は応答を – AndMar

+0

に更新しました。 'server_payment()'関数で、 'app_admin/payment.html'にリダイレクトして、リクエストデータをテンプレートにレンダリングします。 JsonResponseを返すと、ページは切り替わりません。 – 244boy

関連する問題