Django + ajax(jquery):http错误代码403(禁止)

时间:2011-10-24 16:44:00

标签: ajax django

我正在开发一个简单的ajax调用($ .ajax函数,类型,url和数据作为选项参数),并在页面中使用jquery,但是我收到了403错误。 所以我已经为$ .ajax函数添加了csrf的另一个选项参数,并且相应的标记在模板中正确显示。 但我再次收到403错误。 我也尝试添加视图处理程序(在views.py中)一个csrf装饰器,如@csrf_protect@requires_csrf_token,但没有任何改变。

一些帮助?

我已经看到这种模式在django https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#s-ajax

中进行ajax调用

但是我做一个简单的ajax调用真是太多代码了,所以我找到了一个简短的解决方案

1 个答案:

答案 0 :(得分:5)

如果您不想对该视图使用CSRF保护,则所需的装饰器为@csrf_exempt - 其他装饰器将确保应用CSRF保护 。这可能是最简单的解决方案,特别是如果呼叫对安全性不敏感的话。

或者,请确保您遵循此处文档中提到的方法:https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#page-uses-ajax-without-any-html-form