Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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的跨域请求_Javascript_Django_Cross Domain_Yql - Fatal编程技术网

Javascript 韩元';无法执行来自django的跨域请求

Javascript 韩元';无法执行来自django的跨域请求,javascript,django,cross-domain,yql,Javascript,Django,Cross Domain,Yql,嗨,这里有个奇怪的问题。我正在尝试使用django提供下面的index.htm文件。单击按钮时,页面(而不是服务器)会执行跨域请求。如果我直接在浏览器中加载索引文件,它就会工作。但是,如果我使用django提供它,我会在同一个浏览器(Safari)中看到“加载资源时出错”。我将(YQL)此方法用于跨域请求: 函数myFunction() { $.ajax({ 网址:'http://www.google.com', 键入:“GET”, 成功:功能(res){ var headline=$(res

嗨,这里有个奇怪的问题。我正在尝试使用django提供下面的index.htm文件。单击按钮时,页面(而不是服务器)会执行跨域请求。如果我直接在浏览器中加载索引文件,它就会工作。但是,如果我使用django提供它,我会在同一个浏览器(Safari)中看到“加载资源时出错”。我将(YQL)此方法用于跨域请求:


函数myFunction()
{
$.ajax({
网址:'http://www.google.com',
键入:“GET”,
成功:功能(res){
var headline=$(res.responseText).text();
document.getElementById(“demo”).innerHTML=res;
},
发送前:功能(xhr、设置){
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
setRequestHeader(“缓存控制”、“无缓存”);
如果(!csrfSafeMethod(settings.type)){
setRequestHeader(“X-CSRFToken”,getCookie(“CSRFToken”);
}
}
});
}
函数csrfSafeMethod(方法){
//这些HTTP方法不需要CSRF保护
返回(/^(获取|头|选项|跟踪)$/.test(方法));
}
点击我


在ajax函数中添加以下代码:

    beforeSend : function(xhr, settings) {
        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xhr.setRequestHeader("Cache-Control", "no-cache");
        if (!csrfSafeMethod(settings.type)) {
            xhr.setRequestHeader("X-CSRFToken", getCookie("csrftoken"));
        }
    },
还有脚本中的此函数:

function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}

:D

Joao,谢谢你的回复。我编辑了我的代码(见上文)以包含您的代码。然而,它仍然不起作用。我做错了什么?
function csrfSafeMethod(method) {
    // these HTTP methods do not require CSRF protection
    return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}