簡體   English   中英

Django 403禁止錯誤

[英]Django 403 Forbidden Error

當我在同一頁面中嘗試將ajax轉換為html時,它可以工作。 像這樣;

<html>
    <head>
     ...
    </head>
    <body>
     ....
     <script>

    $.ajax({
        url: /test/,
        method: 'POST',
        headers: {'X-CSRFToken': '{{ csrf_token }}'},
        data: { name: a, surname: b},
        dataType: 'json',
        success: function (data) {
            getList(data);
        }
    });
    </script>
  </body>
</html>

當我嘗試調用相同的JavaScript作為外部。 沒用 為什么?

<html>
    <head>
     ...
    </head>
    <body>
     ....
     <script src="{% static 'js/test.js' %}"></script>
  </body>
</html>

script標簽的HTML頁面中,將{{ csrf_token }}定義為全局變量,例如:

var generated_csrf_token = "{{ csrf_token }}";

然后在您的.js文件中調用它,

headers: {'X-CSRFToken': generated_csrf_token},

但是請確保在$(document).ready(function () {***here***}

這樣,您可以在任何js文件中使用名稱generated_csrf_token訪問它。

希望這可以幫助 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM