django jquery $ .get to $ .post
在django我有
#template $.get("/places/{{ place.id }}/save/",{description : cadena } #view place.description = request.POST.getlist('description')[0]
工作还可以。 但如果尝试更改为$.post
#template $.post("/places/{{ place.id }}/save/",{description : cadena } #view print request.POST
什么都没发生
解决了
我的问题,我没有在发送$.post
的视图中添加了context_instance=RequestContext(request)
,因为这个crsf_token
不存在。
有了这个改变现在工作
$.post("/places/{{ place.id }}/save/",{description : cadena, csrfmiddlewaretoken: '{{ csrf_token }}'}
并且必须{{ csrf_token }}
而不是{% csrf_token %}
。
{% csrf_token %}
创建
您可能遇到跨站点请求伪造(CSRF)问题 – Django拒绝POST,因为没有CSRF令牌。 对于Ajax,您需要进行一些特殊处理,或将视图标记为csrf_exempt
。 有关这方面的更多信息,请访问: https : //docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax