Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript django ajax对同一站点路径的请求失败,出现403错误_Javascript_Ajax_Google Chrome_Post_Cookies - Fatal编程技术网

Javascript django ajax对同一站点路径的请求失败,出现403错误

Javascript django ajax对同一站点路径的请求失败,出现403错误,javascript,ajax,google-chrome,post,cookies,Javascript,Ajax,Google Chrome,Post,Cookies,My site()有一个按钮,单击该按钮时调用javascript函数,该函数向路径/My ajax test/发出ajax post请求,该路径应该调用python函数并返回一些数据。它在过去工作得很好,但突然停止了工作,我正在尝试调试它以找出原因 按下按钮时调用的ajax post请求如下所示: function makeAjax(dataVar, csrftoken) { return new Promise(function (resolve, reject) { console

My site()有一个按钮,单击该按钮时调用javascript函数,该函数向路径/My ajax test/发出ajax post请求,该路径应该调用python函数并返回一些数据。它在过去工作得很好,但突然停止了工作,我正在尝试调试它以找出原因

按下按钮时调用的ajax post请求如下所示:

function makeAjax(dataVar, csrftoken) {
return new Promise(function (resolve, reject) {
    console.log("making ajax reqeust to get data. header set")
    $.ajax({
        type: "POST",
        url: '/my-ajax-test/',
        headers: { 'ACookieAvailableCrossSite': 'SameSite=None' },
        data: { csrfmiddlewaretoken: csrftoken, data: dataVar },
        }).done(function callback(response) {
            console.log("ajax request to /my-ajax-test/ was a success !")
            console.log("response = ", response)
            resolve(JSON.stringify(response))

        }).fail(function (error) {
            console.log("ajax request to /my-ajax-test/ failed!");
            console.log(error)
        });
    });
}
当我按下此按钮时,控制台中出现403错误,如下所示:

我正在本地运行我的站点以进行测试,在我将更改推送到其托管的在线位置(heroku)之前,我在控制台中获得了这个弹出窗口,我正在尝试修复它:

谷歌的两个错误来自我试图设置adsense,但之前没有影响我的post请求,我打印了我的错误,但我没有看到任何有助于我调试的东西。我的ajax post请求中是否缺少修复chrome错误的标题

A cookie associated with a cross-site resource at http://youtube.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

thx

我用这个替换了这个功能,它工作了:

函数makeAjax(dataVar、csrftoken){
返回新承诺(功能(解决、拒绝){
log(“生成ajax请求以获取数据。标题集”)
$.ajax({
类型:“POST”,
url:“/my ajax test/”,
标题:{'ACookieAvailableCrossSite':'SameSite=None'},
数据:{csrfmiddlewaretoken:'RQ',数据:dataVar},//新的csrf
}).done(函数回调(响应){
log(“对/my ajax test/的ajax请求成功了!”)
console.log(“response=”,response)
解析(JSON.stringify(响应))
}).失败(功能(错误){
log(“对/my ajax test/的ajax请求失败!”);
console.log(错误)
});
});
}