我在使用localhost試圖在AJAX中查詢圖層時遇到了一些問題。下面是代碼:當使用localhost時沒有'Access-Control-Allow-Origin'標頭
var visitAPI = "http://mhclivemap.appsolutrends.net/api/visits?" +
"start=" + startDate.value + "&end=" + endDate.value +
"&diagnosis=" + mhc_type_select.options[mhc_type_select.selectedIndex].value;
var heatmapData = [];
$.ajax({
url: visitAPI,
dataType: "json",
crossDomain:true,
success: function (res) {
var result = res.visits;
var marker;
for (var i=0; i < result.length; i++) { // iterate thru each element in array
for (var j=0; j < result[i].count; j++) { // repeat for count in element
marker = new google.maps.LatLng(result[i].lat,result[i].lon);
heatmapData.push(marker);
}
};
},
error: function() {
alert('unable to load this layer, please try again later');
}
});
從代碼的這一部分,它返回我的錯誤消息:
的XMLHttpRequest不能加載mhclivemap.appsolutrends.net/api/visits?start=2014-03- 15 & end = 2014-04-15 & diagnosis = GRP1。請求的資源上沒有「Access-Control-Allow-Origin」標題。因此,不允許訪問源localhost。
我想知道是什麼導致了這個問題?是因爲本地主機嗎?如果是這樣,解決方案是什麼?
在此先感謝。
對我來說,答案是一個活的測試服務器。很確定AJAX要求內容來自同一個域。 –
您確定該服務首先允許跨域呼叫嗎? –
@JohnSmith但是有沒有其他方法來執行此操作?也許像切換URL標頭? –