我正在用PHP创建一个天气页面。
用户在搜索表单中输入城市/地名,然后在where.yahooapis中搜索他的输入,以找到5个顶级相对的woeids。
(即http:// where.yahooapis.com/v1/places.q("Rethimno“); start = 0; count = 5?appid = ...)
然后我在单选按钮列表中显示5个顶级亲属的结果。用户从列表中选择一个城市/地点,然后从weather.yahooapis中获取他选择的天气数据。
(即http:// weather.yahooapis.com/forecastrss?w=961110)
我注意到有没有天气数据的“placeTypeName”代码=“7”(即城镇)的woeids。 (即961110)
有没有办法知道where.yahooapis响应中是否存在某个地方的天气数据,这样我就不会将它包含在单选按钮列表中,或者通过执行http请求知道这一点的唯一方法weather.yahooapis并解析错误的响应?
(即< title /> Yahoo!天气 - 错误......)
答案 0 :(得分:2)
我认为没有其他方法可以在不发送http请求的情况下执行此操作。另一个选择是在显示之前检查所有5个城市,但我知道这不是一个很好的解决方案。
但我认为显示“此位置无天气数据”比显示位置更有意义。
我对Intranet小部件有类似的情况。我曾经手动检查和删除没有天气数据的地方(来自预定义的城市列表)但是用户希望我添加它,因为当他们在小部件中找不到城市名称时,他们接下来要做的就是检查雅虎的天气网站(或weather.com)没有天气数据。因此,为了防止用户付出额外的努力,我必须将城市添加到列表中。