我有一个api从openweathermap.org请求天气数据
var requestWeatherData = function(ipData){
$.ajax({
url: "http://api.openweathermap.org/data/2.5/weather",
dataType: "json",
data: {
q: ipData.city + ',' + ipData.countryCode,
appid: "cant say"
},
success: function(wthrDetails) {
addWeatherIcon(wthrDetails)
},
});
api的回复示例如下:
{"coord":
{"lon":145.77,"lat":-16.92},
"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04n"}],
"base":"cmc stations",
"main":{"temp":293.25,"pressure":1019,"humidity":83,"temp_min":289.82,"temp_max":295.37},
"wind":{"speed":5.1,"deg":150},
"clouds":{"all":75},
"rain":{"3h":3},
"dt":1435658272,
"sys":{"type":1,"id":8166,"message":0.0166,"country":"AU","sunrise":1435610796,"sunset":1435650870},
"id":2172797,
"name":"Cairns",
"cod":200}
但当我试图通过上述回复获得天气状况时:
var addWeatherIcon = function(weatherDetails) {
var weatherType = weatherDetails.weather[0].main.toLowerCase();
console.log(weatherType); //<-- outputs "clouds"
console.log(typeof weatherType); //<---- outputs string
console.log(weatherType == "clouds"); // <-- returns false
}
为什么< code > console . log(weather type = = " clouds ");返回false?这个类是正确的,输出也是正确的,但是仍然返回false。更奇怪的是,有时当网络很慢时,它会返回true?会不会是Ajax需要变慢才能被检测到?。这怎么可能呢?
编辑:我的密码笔:http://codepen.io/nuclearmachine/full/ZKyrVp
天哪,< code >“雷雨”被拼成了< code >“雷雨”。现在,应用程序有时显示正确的原因是因为其他天气模式拼写正确!我觉得自己很蠢,但吸取了教训。上面的问题以云为例,但是我是在我的电脑上测试雷暴的。
天气详情天气[0].主要.到低案例()==“云”它将只返回真实,请检查您的代码
例如小提琴是
$(document).ready(function(){
var details={
"coord":{
"lon":145.77,
"lat":-16.92
},
"weather":[
{
"id":803,
"main":"Clouds",
"description":"broken clouds",
"icon":"04n"
}
],
"base":"cmc stations",
"main":{
"temp":293.25,
"pressure":1019,
"humidity":83,
"temp_min":289.82,
"temp_max":295.37
},
"wind":{
"speed":5.1,
"deg":150
},
"clouds":{
"all":75
},
"rain":{
"3h":3
},
"dt":1435658272,
"sys":{
"type":1,
"id":8166,
"message":0.0166,
"country":"AU",
"sunrise":1435610796,
"sunset":1435650870
},
"id":2172797,
"name":"Cairns",
"cod":200
};
alert(details.weather[0].main.toLowerCase()=="clouds");
});
检查一下https://jsfiddle.net/fdxuf7qn/
尝试:
var weatherType = weatherDetails.weather[0].main.toLowerCase().trim();
某处一定有空间。
这是标准的惯例,使用而不是来测试一个值是否特别是。 如果您想确定一个值是否完全是(而不仅仅是一个类似true的值),是否有任何理由使用而不是?这在CPython(2. x和3. x)、Jython、PyPy等实现之间是否有所不同? 示例:假设用作要与值或任何其他类似True的值区分的单例值: 如果foo为真,使用
问题内容: 我正在Ajax调用中发送一些数据。值之一是设置为FALSE的布尔值。在Ajax调用的PHP脚本中,始终将其评估为TRUE。有任何想法吗? 在上面的Ajax中调用的脚本vote.php中,我检查了布尔值: 但条件始终满足。 问题答案: 帖子只是文字,文字在php中的评估结果为true。一种快速的解决方法是发送零而不是false。您也可以在PHP中用引号引起来。 然后,您可以传递正确/错误
我开始学习布尔表达式。我正试图找出以下问题: 假设age1、age2和age3是int变量,假设答案是布尔变量。编写一个表达式,当age1小于或等于age2并且age2小于或等于age3时,该表达式将答案指定为true。否则答案应为false。 我已经尝试了一些东西,但对Java来说还是比较陌生的。我能把答案打印出来,但我的数字还是有问题。 这是错误的: 我只是不知道如何解决这个问题,或者代码中到
我有两个实体:类别和具有一对多关系的产品。 如果价格大于100,我如何按产品数量订购类别?类似(这不起作用):
问题内容: 所以我有一个关于考试作业的问题,在这个作业中,我们有一堆布尔表达式,例如: 然后,我们应该编写布尔表达式的值。为此,我使用了三值逻辑,但是当您获得如下所示的布尔表达式时,这将如何应用: 或者 通过三值逻辑可以很容易地找到第一个,但是我如何找出另外两个。 我知道这是一个非常基本的问题,但是我对此仍然是陌生的。 提前致谢 问题答案: 您需要布尔值和的三相真值表: 该表是缩写,依赖于布尔逻辑
问题内容: 在python中,如果您编写类似 如果布尔语句为true,则python似乎返回垃圾邮件,否则返回egg。有人可以解释这种行为吗?为什么表达式不像一个长布尔值那样被求值? 编辑:具体来说,我试图弄清楚为什么该表达式的结果返回“ spam”或“ eggs”的机制。 问题答案: 运算符和短路,这意味着如果仅从对第一个操作数求值就可以得出表达式的结果,则不对第二个操作数求值。例如,如果您具有