我正在尝试使用ajax请求在不同的视图中调用函数,但是我收到403错误。
摘自我的模板:
FB.ui({ method: 'apprequests', title: 'Invite your friends to answer questions!', message:'Invite your friends!'},
function(response) {
jQuery.ajax({
url: "/canvas/request/",
type: "post",
data: {qid: {{ qid }} , request_ids: response.request_ids}
})
});
摘自我的观点:
def save_request(request):
print("in save request")
for id in request.request_ids:
share = ShareRequest
share.question = request.qid
share.share_id = id
share.save()
摘自我的网址:
urlpatterns = patterns(...
(r'^request/', save_request),
返回[06 / Sep / 2011 13:35:56]“POST / canvas / request / HTTP / 1.1”403 2332
我真的很困惑。
答案 0 :(得分:6)
也许您需要将CSRF令牌添加到您的请求中?一些细节位于https://docs.djangoproject.com/en/dev/ref/contrib/csrf/。
答案 1 :(得分:4)
糟糕但快速解决方案,让自己不要处于隐身模式:
from django.views.decorators.csrf import csrf_exempt
在您的观点中使用此@csrf_exempt
装饰器来忽略csrf问题。
但这是一个糟糕的习惯。因此,请确保您的网站csrf
受到保护。并按照django文档。