2
我無法訪問ajax連接中的數據。不知道我的代碼有什麼問題。似乎它從來沒有達到第二個功能。有任何想法嗎?帶有回調函數的AJAX
function fetchgps(callback)
{
var url = "http://www.instamapper.com/api?action=getPositions&key=584014439054448247";
var myRequest = new XMLHttpRequest();
myRequest.onload = function(e) {xml_loaded(e, myRequest, callback);}
myRequest.open("GET", url);
myRequest.setRequestHeader("Cache-Control", "no-cache");
myRequest.setRequestHeader("wx", "385");
myRequest.send(null);
return myRequest;
}
function xml_loaded(event, request, callback)
{
if (request.responseText){
var obj = {error:false, errorString:null}
var data = myRequest.responseText;
collected=data.split(","); //parses the data delimited by comma and put data into array
obj.latitude = collected[4];
obj.longitude = collected[5];
callback(obj);
}
else
{
callback ({error:true, errorString:"XML request failed. no responseXML"}); //Could be any number of things..
}
}
function dealwithgps(obj)
{
lat = obj.latitude;
lon = obj.longitude;
document.write(lon);
document.write(lat);
}
fetchgps(dealwithgps);
嘗試,已經......我得到一個錯誤,從瀏覽器......「要完成該操作中的數據尚不可用」 – cameron213 2010-08-22 03:02:45
你將不得不爲myRequest.readystate chech,並且只能在ready狀態爲4時進行處理。請檢查我的答案。 – naikus 2010-08-22 03:07:09
至少讓我進一步說我以前。我添加了這個if((request.readyState == 4)&&(request.status == 200)。但是我沒有達到這些狀態並且向回調拋出一個錯誤。不知道爲什麼,如果我做了一個不同的 – cameron213 2010-08-22 03:22:09