我在Heroku中运行了一个使用Django的应用程序。
现在我开始开发一个我想用我的Heroku应用程序工作的Phonegap应用程序。
由于CORS(跨域资源共享)保护,我无法使其正常工作。因此,我需要排除一些网址(不是所有应用),以使我的Phonegap应用运行。
我已尝试安装django-cors-headers,但它似乎无法正常工作。
为了测试它,我打电话来获取csrf_token。
我将此添加到我的setting.py中(当然,按照指南,将all设置为默认值):
CORS_URLS_REGEX = r'^register/.*$'
CORS_URLS_REGEX = r'^login/.*$'
CORS_URLS_REGEX = r'^getcsrf/.*$'
这是我尝试的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);
});
});
}
但我将其标记为红色,表示错误和空响应字段:
GET http://domain.herokuapp.com/getcsrf/?tags=jquery%2Cjavascript&tagmode=any&format=json 200 OK 206ms
答案 0 :(得分:0)
对于phonegap没有交叉来源限制,它使用的是webview,而不是网络浏览器。
您与phonegap / cordova的唯一关系是确保您的服务器在config.xml中列入白名单。
在cordova 3.3 / 3.4中,默认设置为<access origin="*" />
,允许访问任何网址。