python - 加载资源失败:服务器响应状态为 403(禁止)?
问题描述
我将 javascript localstorage 对象发布到后端(django)。我通过ajax传递它。这是前端的代码。
function checkout_(){
console.log("checkout");
for(v in list1){
object=Object.values(localStorage)[v];
object = JSON.parse(object)
}
//ajax here
console.log(object.length);
$.ajax({
url: '{% url "chout" %}',
data: {
'object': object
},
method: "POST",
dataType: 'json',
success: function (data) {
alert("success");
}
});
我已通过 onclick 将此功能赋予按钮。
<button class="bg-danger text-white " onclick="checkout_()">Go To Checkout Counter</button>
当我单击此按钮时,会发生此错误“加载资源失败:服务器响应状态为 403(禁止)”。
在views.py 这是代码。
视图.py
def checkoutnow(request):
return render(request, "mart/checkout.html")
我希望这个细节足以解释问题..谢谢
解决方案
由于设置中设置了 csrf 中间件,您还必须在 post call 中传递csrfmiddlewaretoken
const csrf = "{{ csrf_token }}";
并将这个键值对添加到您的数据中:
data: {'csrfmiddlewaretoken':csrf, 'object': object },
如果可行,您可以跳过此步骤,只使用GET而不是POST 。
推荐阅读
- azure - 将组添加到 ADO 中的所有服务连接
- typescript - Next.js、Styled-components 和 Yandex Metrica 会话重放
- node.js - 将 socket.io 升级到 v3 后出现 express-session 问题
- merge - 使用 Spacy 的模型“en_core_web_md”时,合并跨度非常慢
- python - 在python相同长度的循环中组合两个列表
- sql - 如何在oracle plsql中对clob进行子串化
- javascript - 在 nuxt.js 身份验证中,用户始终重定向到刷新时登录
- jquery - 带有数据验证和远程的 jquery 验证
- php - 在 Woocommerce 订单和电子邮件中的订单总额后添加自定义文本
- c# - 记录器语句:变量上的字符串插值