Django 403禁止错误 [英] Django 403 Forbidden Error

查看:104
本文介绍了Django 403禁止错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在同一页面中尝试Ajax到html时,它可以工作.像这样;

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>

当我尝试调用与外部相同的JavaScript时.它不起作用.为什么?

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>

推荐答案

script标记的HTML页面中将{{ csrf_token }}定义为全局变量,例如:-

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 }}";

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

And then in your .js file call it,

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

但是请确保在$(document).ready(function () {***here***}

这样,您可以在任何js文件中以名称generated_csrf_token对其进行访问.

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

希望这会有所帮助:-)

Hope this helps :-)

这篇关于Django 403禁止错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆