我正在開發一個Django服務器。我需要從外部服務here獲得一些數據。使用XMLHttpRequest訪問控制允許來源錯誤
下面是我使用的JavaScript代碼:
function getDeclination(latitude, longitude) {
var url = 'http://www.ngdc.noaa.gov/geomag-web/calculators/calculateDeclination';
url += '?';
url += 'lat1=' + latitude;
url += '&'
url += 'lon1=' + longitude;
url += '&';
url += 'resultFormat=xml';
var xmlHttp = null;
xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", url, false);
xmlHttp.send();
xml = xmlHttp.responseXML;
var temp_d = xml.getElementsByTagName('declination');
var string = temp_d[0].childNodes[0].nodeValue;
string = string.substring(1, string.length - 2);
return parseFloat(string);
}
使用此代碼類似這樣getDeclination通話(46.0815605783,13.2158580422)崛起這個錯誤:
XMLHttpRequest cannot load
http://www.ngdc.noaa.gov/geomag-web/calculators/calculateDeclination?lat1=46.0815605783&lon1=13.2158580422&resultFormat=xml.
Origin http://127.0.0.1:8000 is not allowed by Access-Control-Allow-Origin
如何我可以擺脫這個問題並返回到測試?
編輯:
因此,我安裝的中間件和JS,但我不能得到結果。 也許我在安裝中間件的過程中犯了一些錯誤,這對我來說是第一次。 我知道Django發現它,並且它正在啓動,但是我不知道我是否已經正確完成了設置。
XS_SHARING_ALLOWED_ORIGINS = "http://127.0.0.1:8000"
XS_SHARING_ALLOWED_METHODS = ['POST','GET','OPTIONS', 'PUT', 'DELETE']
我已經把這段代碼settings.py,這是正確的?因爲我仍然得到相同的錯誤。