0

変数を取り、ユーザーを別のページにリダイレクトする単純な投稿をdjangoに実行しようとしています。現在、私のJavaScriptは次のようになっています。

$.ajax({ 
  type: "POST",
  url: "{% url unity.survey.views.post %}",
  data: {  // <-- error here?
    'order' : '1', 
    'csrfmiddlewaretoken': '{{ csrf_token }}' 
  },
  success: function(datas) {
    if (datas.redirect) {
      window.location.href = data.redirect;
    }

  }
  });
 };

django での対応するビューは次のようになります。

def post(request, *args, **kwargs):
  if 'order' in request.POST:
    order = request.POST['order']
  else:          
    return redirect('unity.survey.views.login')

  .... some calculations with order ....
  return render_to_response(
     'template.html', 
      some_dictionary, 
      context_instance=RequestContext(request)
  )

何らかの理由で、ビューに何も送信されていないように見えます。Firefox の Web コンソールを見ると、次のように表示されます。

[07:31:12.414] POST http://127.0.0.1/unity/ survey/ [undefined 17ms]
[07:31:12.422] GET http://127.0.0.1/unity/survey/ [HTTP/1.1 302 FOUND 73ms]
[07:31:12.497] GET http://127.0.0.1/unity/survey/login [HTTP/1.1 200 OK 177ms]

何をしてもログインページにリダイレクトされるだけです。.ajax の代わりに .post を使用してみましたが、結果は同じです。なぜこれが当てはまるのでしょうか?同様の機能があり、うまく機能しますが、何らかの理由でこれを機能させることができません。POST データが送信されていないように見えます。

4

0 に答える 0