我可以将Google API中的XML作为字符串存储在Javascript中吗?
在我开始我的问题之前:上次我问这个问题时,你们中的一些人发布了解析XML的有用链接。但我的问题是,首先如何将XML信息转换成字符串变量。它不是这些链接的副本 希望我的问题有意义。但是我试图存储从GoogleGeocodeAPI()获取的XML,这样我就可以将人们键入的地址自动格式化到某些字段中 本质上,我正在MS Excel中寻找一个与我可以将Google API中的XML作为字符串存储在Javascript中吗?,javascript,xml,google-geocoding-api,Javascript,Xml,Google Geocoding Api,在我开始我的问题之前:上次我问这个问题时,你们中的一些人发布了解析XML的有用链接。但我的问题是,首先如何将XML信息转换成字符串变量。它不是这些链接的副本 希望我的问题有意义。但是我试图存储从GoogleGeocodeAPI()获取的XML,这样我就可以将人们键入的地址自动格式化到某些字段中 本质上,我正在MS Excel中寻找一个与=WEBSERVICE([URL])相当的Javascript 其想法是检索人们键入的地址字段,将其放入地理代码URL,将XML存储为字符串(这是我遇到问题的步骤
=WEBSERVICE([URL])
相当的Javascript
其想法是检索人们键入的地址字段,将其放入地理代码URL,将XML存储为字符串(这是我遇到问题的步骤),然后将字段设置为从API获得的结果。使用jQuery的一个简单示例:
var response = $.get('https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY');
var text = response.responseText;
$.get
将返回一个jqXHR
对象,该对象公开responseText
。您可以查看更多详细信息
注意:上面的示例将返回一个错误(因为我们没有提供API密钥),但响应格式是相同的
要真正将XMLDocument转换为字符串,必须使用序列化程序(请参阅)。由于某种原因,另一个人的答案对我不起作用。但使用此处的代码结构可以:
我只是简单地用Google API替换了
url
(并将dataType
替换为XML,正如答案所建议的那样)。将其存储在哪里?您知道javascript在字符串变量中的数据持久性功能是有限的,不是吗。我不知道。我对Javascript没有太多的经验。是的,要在会话间本地持久化数据,需要将其存储在cookie或localstorage中。要持久保存数据并使其在用户之间可访问,您需要一个数据库,因此最终您很可能会重新创建google提供的现成数据。据我所知,无论如何。也许我对你的目标感到困惑。无论哪种方式,我都建议请求json输出(请参阅文档),因为这样至少可以为您节省解析xmlOh的麻烦。哦,我不需要在会话之间存储数据。我只需要将其存储为文本变量,这样我就可以使用find/substring函数检索地址数据,并基本上将其打印到屏幕上。我使用了您的代码,并使用了sensor=false
而不是API键(尽管我有API键)。当我用alert(文本类型)跟随它时代码>警报文本显示未定义
。这是应该发生的吗?这是我的代码,以防您产生疑问(URL在键入URL时工作正常):var response=$.get('https://maps.googleapis.com/maps/api/geocode/xml?address=1600+圆形剧场+公园道,+山景,+CA和传感器=假'代码>var text=response.responseText代码>警报(文本)代码>