我是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的页面并且它有效!