0

我有以下代码,但问题是当我尝试使用从 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 */
4

1 回答 1

1

条件要求==or ===,使用只是=设置值,通常修剪值以确保没有空格是一个好主意:

$.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。

于 2013-03-22T19:59:06.537 回答