在Safari中运行Ajax

时间:2010-08-23 00:26:21

标签: javascript iphone ajax safari

我正在为iphone编写一个基于位置获取天气信息的应用程序。天气预报适用于固定位置。我已经创建了一个解析器,它基于一个编程的调用instamapper来获取gps坐标,该编程器以csv格式在线发布坐标。我可以在HTML文件中的IE中执行代码并查看我的结果。但是,由于iphone使用Safari,我想看看我的输出是什么。当我在Safari中运行代码时,没有任何事情发生,至少它确实发生了,我没有得到任何输出。我怎样才能看到我的输出?

function fetchgps(callback) {
  var url = "http://www.instamapper.com/api?action=getPositions&key=584014439054448247";

  var myRequest = new XMLHttpRequest();
  myRequest.onreadystatechange = function(e) {gps_xml_loaded(event, myRequest, callback);}
  myRequest.open("GET", url);
  myRequest.setRequestHeader("Cache-Control", "no-cache");
  myRequest.setRequestHeader("wx", "385");
  myRequest.send(null);

  return myRequest;
}

function gps_xml_loaded(event, this_request, callback) {
  if (this_request.readyState == 4) {
    if (this_request.status == 200) {
      var obj = {error:false, errorString:null}
      var data = this_request.responseText;
      if (data == null) {
        callback(constructError("no <data>"));
        return;
      }

      collected=data.split(",");   //parses the data delimited by comma and put data into array
      obj.latitude = collected[3];
      obj.longitude = collected[4];
      callback(obj);
    }
    else {
      callback ({error:true, errorString:"Not Ready"}); //Could be any number of things..
    }
  }
}

function dealwithgps(obj) {
  if (obj.error == false) {
    lat = obj.latitude;
    lon = obj.longitude;
    document.write("Latitude "+lat);
    document.write("Longitude "+lon); 
  }
  else {
    document.write("error detected");
  }
}

fetchgps(dealwithgps);

1 个答案:

答案 0 :(得分:0)

console.log('output string' + orVariable);

将登录控制台(cmd + alt + i打开控制台)
也可以使用firebug扩展名在firefox中运行