我在函数中返回一个对象,但它返回undefined
为什么?这是我的代码
parseXML = function (xml) {
return {
lon : $(xml).find('GEOCODE').find("LOC").attr('lon'),
lat : $(xml).find('GEOCODE').find("LOC").attr('lat'),
x : $(xml).find('GEOCODE').find("LOC").attr('x'),
y : $(xml).find('GEOCODE').find("LOC").attr('y')
};
},
searchRoute = function () {
var userloc, dest;
userloc = cityattr.init(from, to, fromurl, parseXML);
//dest = cityattr.init(from, to, fromurl, parseXML);
console.log(userloc);
};
更新
当我console.log()
在 parseXML 内部执行时,它会返回正确的对象
parseXML = function (xml) {
var obj = {
lon : $(xml).find('GEOCODE').find("LOC").attr('lon'),
lat : $(xml).find('GEOCODE').find("LOC").attr('lat'),
x : $(xml).find('GEOCODE').find("LOC").attr('x'),
y : $(xml).find('GEOCODE').find("LOC").attr('y')
};
console.log(obj);
},
更新 2
仍然返回undefined
parseXML = function (xml) {
return {
lon : $(xml).find('GEOCODE').find("LOC").attr('lon'),
lat : $(xml).find('GEOCODE').find("LOC").attr('lat'),
x : $(xml).find('GEOCODE').find("LOC").attr('x'),
y : $(xml).find('GEOCODE').find("LOC").attr('y')
};
},
这是 cityattr 的代码
var Xml = function () {
var to, from, url, result,
init = function (fromaddress, toaddress, link, callback) {
from = fromaddress;
to = toaddress;
url = link;
requestXml(callback);
},
requestXml = function (callback) {
$.ajax({
type: "GET",
url: url,
dataType: "xml",
success: callback
});
},
getResult = function () {
return result;
};
return {
init : init,
getResult : getResult
};
};