Django:Ajax Post错误:POST // [object%20Object] HTTP / 1.1“405 0

时间:2015-04-12 09:59:26

标签: jquery python ajax django post

我正在尝试使用ajax登录方法。我收到错误“POST // [object%20Object] HTTP / 1.1”405 0“。我不知道我犯了哪个错误。

views.py

class LoginVerify(View):
    print('login')
    def post(self,request,*args,**kwargs):
        print("post called")
        return HttpResponse("verified")

HTML

<script>
      $(document).ready(function(){
          $("#loginform").on("submit", function(){
             $.post({
                 data: {csrfmiddlewaretoken:'{{ csrf_token }}'},
             url: "{% url 'feeds:login_view' %}",
             success: function(data){
                  alert(data);
              },
    error: function(xhr, ajaxOptions, thrownError){
        alert('login failed - please try again');
    }
});
          });
      });
    </script>

  <body> 
  <form id ="login_form" method="post"> 
{% csrf_token %} 
<input type="text" id="username">
<input type ="password" id="password" />
<input type="submit" value="login" />
</form> 

urls.py

   urlpatterns = patterns('',
                           url(r'^hello/',views.FeedContents.as_view(),name='main'),
                           url(r'^$',views.LoginVerify.as_view(),name="login_view"),
                      )

请保存我的一天..提前致谢

结果: 空白页面显示在浏览器中.. 在终端显示“[12 / Apr / 2015 15:41:51]”POST / hello / HTTP / 1.1“405 0”

1 个答案:

答案 0 :(得分:0)

您只发布csrf_token到服务器,您应该使用FormData序列化表单数据并将其发送到您的服务器。 var fd = new FormData($("#loginform")[0]); $.post({ data: fd, url: "{% url 'feeds:login_view' %}", // and other stuff })