weixin_33698043 2017-09-19 13:23 采纳率: 0%
浏览 51

Django 403禁止错误

When I try the ajax in same page to html it works. Like this;

<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>

When I try the call same javascript as external. It doesn't work. Why?

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

1条回答 默认 最新

  • weixin_33725272 2017-09-19 14:08
    关注

    Define the {{ csrf_token }} as a global variable in your HTML page in script tag as a global variable as such:-

    var generated_csrf_token = "{{ csrf_token }}";
    

    And then in your .js file call it,

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

    But make sure you put AJAX call within the document ready func in $(document).ready(function () {***here***}

    This way you can access it with name generated_csrf_token in any js file.

    Hope this helps :-)

    评论

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格