我对navigator.sendBeacon('endpoint/', data)有个问题。我有一个错误:禁止(CSRF令牌丢失或不正确。)因为它通过POST方法传递数据。我知道我应该设置csrf令牌,但我不知道在这种情况下如何设置它,有人知道应该如何设置吗?我使用的是Django==2.2.6。
发布于 2020-11-18 22:29:31
您应该执行以下操作:
var data = new FormData();
data.append('csrfmiddlewaretoken', '{{csrf_token}}');
navigator.sendBeacon('endpoint/',data)如果是js文件,那么您应该在html中创建一个变量,如下所示
<script>
var csrftoken = '{{ csrf_token }}';
</script>然后,当您像这样追加时,可以使用它:
data.append('csrfmiddlewaretoken', csrftoken);https://stackoverflow.com/questions/59443915
复制相似问题