我正在尝试从Placefinder API检索信息。我的代码从文本框中获取信息,并通过单击按钮将其发送到雅虎。
function codeAddress(){
var address = document.getElementById("address").value;
var RequestUrl = "http://where.yahooapis.com/geocode?q="+address+"&flags=J&callback=ws_results&output=json";
JSONObject = new XMLHttpRequest();
JSONObject.open( "GET", RequestUrl, false );
JSONObject.send( null );
return JSONObject;
document.getElementByID("jlatitude").innerHTML=JSONObject.latitude;
alert(document.write("jlatitude"));
}
Firebug告诉我数据已返回,但我无法在故障排除弹出窗口中显示我想要的内容。当我请求为马里兰州进行地理编码时,地址查找器会返回此信息。
{"ResultSet":{"version":"1.0","Error":0,"ErrorMessage":"No error","Locale":"us_US","Quality":10,"Found":2,"Results":[{"quality":49,"latitude":"39.466626","longitude":"-93.709069","offsetlat":"39.466626","offsetlon":"-93.709069","radius":700,"name":"","line1":"","line2":"Roads, MO","line3":"","line4":"United States","house":"","street":"","xstreet":"","unittype":"","unit":"","postal":"","neighborhood":"Roads","city":"Norborne","county":"Carroll County","state":"Missouri","country":"United States","countrycode":"US","statecode":"MO","countycode":"","uzip":"64668","hash":"","woeid":2482523,"woetype":7},{"quality":49,"latitude":"39.080130","longitude":"-82.537394","offsetlat":"39.080130","offsetlon":"-82.537394","radius":700,"name":"","line1":"","line2":"Roads, OH","line3":"","line4":"United States","house":"","street":"","xstreet":"","unittype":"","unit":"","postal":"","neighborhood":"Roads","city":"Wellston","county":"Jackson County","state":"Ohio","country":"United States","countrycode":"US","statecode":"OH","countycode":"","uzip":"45692","hash":"","woeid":2482522,"woetype":7}]}}
我的警告框未显示,但存储了数据。
由于
答案 0 :(得分:0)
我认为你的JavaScript代码示例中有一个简单的问题 - 从YQL接收数据后,你有return JSONObject;
,这意味着永远不会执行以下行。
要进行故障排除和确认,您可以在返回时写入控制台日志,例如:
function codeAddress(){
var address = document.getElementById("address").value;
var RequestUrl = "http://where.yahooapis.com/geocode?q="+address+"&flags=J&callback=ws_results&output=json";
JSONObject = new XMLHttpRequest();
JSONObject.open( "GET", RequestUrl, false );
JSONObject.send( null );
console.log( JSONObject.responseText );
}
答案 1 :(得分:0)
$.getJSON(RequestUrl,{},function(result){
...
});
这正确地从Yahoo!中检索JSON对象。 Placefinder