首先,如果这是一个愚蠢的问题,我深表歉意,我是 WinJS 的新手,对 Javascript 也比较陌生,但在遇到这个障碍之前我一直做得很好。
我目前正在使用 WinJS 开发适用于 Windows 8 的天气应用程序,并且我正在尝试从 forecast.io API 中提取数据,在我的情况下,该 API 以 JSONP 格式提供。我很容易使用 jQuery 和 .getJSON 在浏览器中工作,但是因为我必须使用 WinJS.xhr 来请求数据,所以我遇到了一些困难。
我可以使用以下代码很好地提取数据:
function getWeather() {
WinJS.xhr({
type: "GET",
url: "https://api.forecast.io/forecast/*ommited API key*/-36.044394,146.953718?callback=?&units=si",
headers: { "Content-type": "application/json" }
}).then(function complete(data) {
var weatherData = data.responseText;
(new Windows.UI.Popups.MessageDialog(weatherData, "Success!")).showAsync().done();
}, function error(data) {
(new Windows.UI.Popups.MessageDialog("Failed.", "Error")).showAsync().done();
});
}
这会在弹出窗口中向我显示数据,所以我确定我已经访问过它。问题是,我对此无能为力。在 jQuery 中,我只是使用“data.currently.temperature”来获取当前温度数据,但在这种情况下我无法获得类似的工作。
任何帮助或指示将不胜感激!
PS对不起,如果我扼杀了任何术语,我正在尽我所能。
这是 data.responseText 返回的内容,有很多,所以我把它放在一个文本文件中。 http://justadddesign.net/data.responseText.txt