我正在尝试使用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 :(得分:0)
您只发布csrf_token
到服务器,您应该使用FormData
序列化表单数据并将其发送到您的服务器。
var fd = new FormData($("#loginform")[0]);
$.post({
data: fd,
url: "{% url 'feeds:login_view' %}",
// and other stuff
})