我正在尝试从openweathermap.org获取xml数据。所以我得到这样的网址:" http://api.openweathermap.org/data/2.5/weather?q=London,uk&mode=xml" (这个是用于测试)这个结果是天气的xml数据。所以url对我很好。
我想创建一个小型网络应用程序,向我展示我的城镇。首先,我这样做是为了得到xml:
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://api.openweathermap.org/data/2.5/weather?q=London,uk&mode=xml", false); //here i get error notice
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var firstRow = xmlDoc.getElementsByTagName('temperature');
这样可以正常但我收到 xmlhttp.open 行中的错误消息。消息是这样的:
主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。如需更多帮助,请查看http://xhr.spec.whatwq.org/
现在这个问题有时我要求的xml没有被加载(所以我的数据是空的)。然后我也用debbuger检查它,在这种情况下,xmlhttp.open是下划线(带有上面的消息)和xmlhttp.send(),其中error是空请求。然后我刷新几次,然后获取数据。
知道这个错误信息是什么,如何解决? Tnx寻求帮助
答案 0 :(得分:0)
在ajax API帮助的基础上,我做到了这一点:
$.ajax({
url: "http://api.openweathermap.org...",
type: 'GET',
dataType: 'xml',
}).done(function(data){
xmlDoc = data;
});
现在这似乎工作(没有错误信息),xmlDoc现在(当调试时)与以前相同的数据,当我使用xmlDoc = xmlhttp.responseXML时;