即使在禁用CSRF之后,对django的Jquery请求也会收到403错误

时间:2011-06-15 17:20:54

标签: jquery django json csrf

我是Django的新手并且正在开发一个小型项目,其中JQuery客户端向我的DJango服务器页面发送JSON请求(用户名和密码)。但是,Django每次都会发出403错误。这是我得到的错误:

 POST /html/localhost HTTP/1.1" 403 2326

这令人沮丧,因为它是一个非常基本的设置,涉及客户端< - >服务器通信。

我的客户端表单:

<form id="loginForm" action="vs.djangoserver" method="post"> 
User: <input type="text" name="username" /> 
Pass: <input type="password" name="password" /> 
<input type="submit" value="Submit" /> 

vs.djangoserver映射正确(或者我认为),我可以使用Django的测试服务器导航到它。

将表单字段作为JSON发送的JQuery代码在此处:

    $.ajax({
       type: "POST",
       url: formAction,
       data: printableJSONStr,
       dataType: "json",
       beforeSend: function(x,y) {
         if (x && x.overrideMimeType) {
           x.overrideMimeType("application/j-son;charset=UTF-8");
         }
       },
       success: post_submit
     });

我感到困惑的是如何POST到Django创建并动态提供的页面。我对Django的CSRF保护很感兴趣,我将其添加到我的Django视图中:

from django.views.decorators.csrf import
@csrf_exempt
def .......

我尝试的另一件事是指向客户端表单中不存在的操作。在那种情况下,我得到了相同的403错误(与我预期的404相比)。

我正在寻找一个简单(但完整)的例子,其中JQuery指向django的页面并且它有效!

0 个答案:

没有答案