小编典典

通过Phonegap访问时Django应用中的Access-Control-Allow-Origin

ajax

我正在为基于Django的应用程序开发Phonegap应用程序,但是在尝试进行Ajax调用时出现此错误:

XMLHttpRequest cannot load http://domain.herokuapp.com/getcsrf/?tags=jquery%2Cjavascript&tagmode=any&format=json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我如何才能做到这一点,以便我的Django应用程序允许某些URL的交叉源?

这是我的Ajax代码:

get: function() {
    $.getJSON("http://domain.herokuapp.com/getcsrf/",
    {
        tags: "jquery,javascript",
        tagmode: "any",
        format: "json"
    },
    function(data) {
        $.each(data.items, function(item){
            console.log(item);
            });
    });
}

阅读 263

收藏
2020-07-26

共1个答案

小编典典

Django默认情况下不提供提供交叉原点所必需的标头。最简单的方法是只使用为您处理该Django应用程序:https : //github.com/ottoyiu/django-cors-
headers

然后,您可以使用设置来设置要列入白名单的任何域

CORS_ORIGIN_WHITELIST = (
    'google.com',
    'hostname.example.com'
)

要支持全部允许,只需使用设置… CORS_ORIGIN_ALLOW_ALL = True ,然后在中间件或视图中对请求进行任何过滤。

2020-07-26