2017-08-15 5 views
0

データが1と0を返す間に条件が働かずに常にelseコードを実行すると、エラーを見つけることができず、コードが動作していますサーバーデータが返っている間に(str == "1")条件が機能しない場合

$('#by_head_name').on('blur', function() { 

    var headsubt = document.getElementById('by_head_name').value; 

    if (headsubt !== "") { 

     //alert('hi'); 

     $.post('verify-head-or-subhead-name.php', { 
       headsub: headsubt 

      }, 
      function(data, status) { 

       var str = data; 

       if (str == "1") { 

        var headd = "ok"; 

        alert('ok'); 

       } else if (str == "0") { 

        alert("No Head Exist, Please choose valid Head or create one before selecting it"); 

       } else { 
        alert(data); 
        this.value == ''; 
       } 


      }); 



    } 
+0

@Carcigenicate:しかし、それは真と評価されます。 – musefan

+0

'if(str ==" 1 "){'を 'if(str){'に置き換えてみてください。 – ryanpcmcquen

+1

デバッガでステップインしてみましたか?また、結果に空白がないことを確認してください。 – litelite

答えて

0

上localhot上の罰金ではなく、成功機能の「データ」は、あなたの警告メッセージに返すかどうか確認してください。

文字列を直接返すと、条件が機能するはずです。

アラート画面にオブジェクトが表示されている場合は、オブジェクトを確認して、data.valueのような条件を満たす変数を選択してください。

+0

成功関数の "データ"は文字列1または文字列0を返します –

+0

あなたはアラートボックスに入っていますか? – ramz88

+0

警告ボックスに0または1が表示されていますが、コードに空白があり、 "str = data.trim();"を使用していて、コードがサーバー上で問題なく動作していると思います –

関連する問題