2015-04-12 78 views
0

我在尝试使用ajax登录方法,发生错误”POST // [object%20Object] HTTP/1.1“405 0" 。我不知道我犯了什么错误。Django: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”

+0

您可以在模板呈现后编辑并添加jQuery脚本的结果代码吗? – RafaelC

回答

0

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