2014-03-12 46 views
0

我在運行Django的Heroku中有一個應用程序。在Heroku的Django應用程序中爲CORS指定URLS

現在我開始開發一個Phonegap應用程序,我想使用我的Heroku應用程序工作。

由於CORS(跨源資源共享)保護,我無法使其工作。所以我需要排除一些網址(並非所有應用程序)以使我的Phonegap應用程序正常工作。我試過安裝django-cors-headers,但它似乎並不奏效。

爲了測試它,我正在調用以獲取csrf_token。

我說這個我setting.py(當然跟着指導,所有設置爲默認值):

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

沒有交叉起點限制與phonegap,它使用的是一個webview,而不是一個web瀏覽器。

你唯一需要做的就是使用phonegap/cordova來確保你的服務器在config.xml中被列入白名單。

在cordova 3.3/3.4中,默認設置是<access origin="*" />,它應該允許訪問任何url。

相關問題