我正在尝试创建Chrome扩展程序,并且我试图从http://api.openweathermap.org/网站检索此扩展程序中的天气信息。 我在清单文件中提供了必要的权限。 这是我的javascript代码。
function processPosition(pos)
{
document.getElementById("testDiv").innerHTML = "Position available. lat=" + pos.coords.latitude + "&lon=" + pos.coords.longitude;
v_url = "http://api.openweathermap.org/data/2.5/weather?lat=" + pos.coords.latitude + "&lon=" + pos.coords.longitude;
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readystate == 4 && xmlhttp.status == 200)
{
processWeatherJSON(xmlhttp.responseText);
}
else if(xmlhttp.readystate == 3)
{
document.getElementById("testDiv").innerHTML = "Downloading data";
}
else if(xmlhttp.readystate == 2)
{
document.getElementById("testDiv").innerHTML = "Send has been called";
}
else if(xmlhttp.readystate == 1)
{
document.getElementById("testDiv").innerHTML = "Ready state 1";
}
else if(xmlhttp.readystate == 0)
{
document.getElementById("testDiv").innerHTML = "Ready state 0";
}
}
xmlhttp.open("GET",v_url,true);
xmlhttp.send();
}
问题是代码不会进入任何就绪状态的块。 所以在调用send()函数之后没有发生任何事情。
有什么想法吗?
这是我的扩展清单文件权限部分。
"permissions":[
"http://api.openweathermap.org/data/*",
"geolocation"
]
答案 0 :(得分:1)
好吧我想我自己找到了答案。
Javascript区分大小写。我错误地将readyState
写为readystate
。
我真的很傻。
感谢大家。