我有以下代码,但问题是当我尝试使用从php(getstate)检索的值设置条件语句时,它会通过if语句,即使它不匹配。例如,如果响应为1,则getstate为1,但是当getstate为2时,它将执行代码。有什么问题?
var getstate ="";
$.get('getstate.php', {
email: emailaddress,
country: 'DE',
lang: lang,
source: '1304_Spring_dly'
}, function (data) {
getstate = data;
if ( getstate = "2" ){
$('#mch-overlay').fadeIn(300);
} else if ( getstate = "1" ){
$('#mch-overlay').fadeIn(300);
});
} else {
$('p.error').hide();
}
}); /*end .GET */
答案 0 :(得分:1)
条件需要==
或===
,仅使用=
设置值,并且通常修剪值以确保没有空格是个好主意:
$.get('getstate.php', {
email : emailaddress,
country: 'DE',
lang : lang,
source : '1304_Spring_dly'
}, function (data) {
var getstate = $.trim( data );
if ( getstate == "2" ){
$('#mch-overlay').fadeIn(300);
} else if ( getstate == "1" ){
$('#mch-overlay').fadeIn(300);
} else {
$('p.error').hide();
}
});
还要注意你在条件中做了同样的事情,所以它可能已经缩短为if / else。