首页 > 解决方案 > 加载资源失败:服务器响应状态为 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")

我希望这个细节足以解释问题..谢谢

标签: pythondjango

解决方案


由于设置中设置了 csrf 中间件,您还必须在 post call 中传递csrfmiddlewaretoken

const csrf = "{{ csrf_token }}";

并将这个键值对添加到您的数据中:

data: {'csrfmiddlewaretoken':csrf, 'object': object },

如果可行,您可以跳过此步骤,只使用GET而不是POST 。


推荐阅读