Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试从aurelia js文件调用django api时出现禁止的错误_Django_Aurelia - Fatal编程技术网

尝试从aurelia js文件调用django api时出现禁止的错误

尝试从aurelia js文件调用django api时出现禁止的错误,django,aurelia,Django,Aurelia,我已经在django项目中集成了aurelia js,从aurelia我尝试使用django api,但CSRF问题即将出现,我无法获得结果 如果我在django中创建普通的js文件,并从那里调用django api,那么它可以工作,但如果是aurelia,它就不能工作。 我的代码是: import {inject,DOM, autoinject} from 'aurelia-framework'; import {HttpClient, json} from 'aurelia-fetch-cl

我已经在django项目中集成了aurelia js,从aurelia我尝试使用django api,但CSRF问题即将出现,我无法获得结果

如果我在django中创建普通的js文件,并从那里调用django api,那么它可以工作,但如果是aurelia,它就不能工作。 我的代码是:

import {inject,DOM, autoinject} from 'aurelia-framework';
import {HttpClient, json} from 'aurelia-fetch-client';

let httpClient = new HttpClient();
let tableHeading;

export class App {

    attached(){
        httpClient.fetch('/demographs/', {
            method: "POST",
            headers: {
                "X-CSRF-Token": this.getCookie("csrftoken"),
                "Accept": "application/json",
                'Cache': 'no-cache',
                "Content-Type": "application/json",
                'Cookie': 'csrftoken='+this.getCookie("csrftoken")
            },
            credentials: 'include'
        })
        .then(response => response.json())
        .then(data => {
            if(data && data.table && data.table.length) {
                tableHeading = data.table[0];
            }
        });
    }

    getCookie(name) {
        let cookieValue = null;
        if (document.cookie && document.cookie != '') {
            let cookies = document.cookie.split(';');
            for (let i = 0; i < cookies.length; i++) {
                let cookie = cookies[i].trim();

                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length +1));
                    break;
                }
            }
        }

        return cookieValue;
    }
}
从'aurelia framework'导入{inject,DOM,autoinject};
从'aurelia fetch client'导入{HttpClient,json};
让httpClient=newHttpClient();
让我们来看看标题;
导出类应用程序{
附({
httpClient.fetch(“/demographs/”{
方法:“张贴”,
标题:{
“X-CSRF-Token”:这个.getCookie(“csrftoken”),
“接受”:“应用程序/json”,
'缓存':'无缓存',
“内容类型”:“应用程序/json”,
“Cookie”:“csrftoken=”+this.getCookie(“csrftoken”)
},
凭据:“包括”
})
.then(response=>response.json())
。然后(数据=>{
if(data&&data.table&&data.table.length){
tableHeading=data.table[0];
}
});
}
getCookie(名称){
让cookieValue=null;
if(document.cookie&&document.cookie!=''){
让cookies=document.cookie.split(“;”);
for(设i=0;i