2016-08-08 14 views
0

ajaxで問題が発生しています。このシナリオは次のとおりです。電子メールの入力時にユーザーが利用可能かどうかを確認したいと思います。だから私はそれの中でAjaxスクリプトでこれを行うためにjavascriptで関数を作ります。 は、ここに私のコード:JSONはnullですが、データはajaxで正常に処理されます

$('#username').keyup(function() { 
    var email = $(this).val(); 

    $.ajax({ 
    type: 'GET', 
    url: 'http://localhost:8080/MeublesTunisv4/web/app_dev.php/email-verification/' + email, 
    dataType: "json", 
    beforeSend: function() { 
     $('#email_status').html('<img id="loading" src ="{{ asset('bundles/theme_front_end/images/loading.gif')}}"></img>'); 

    }, 
    success: function (data) { 
     $('#email_status').remove(); 
     $('#email_status').html('<img id="loading" src ="{{ asset('bundles/theme_front_end/images/green_tick.png')}}"></img>'); 
    } 

    }); 
}); 

私の問題がある:私はそれはそれはデータがnullの場合でも、成功に渡し、その後からkeyupの関数を呼び出す任意の単語を入力するとき。私はデータが正しく行われた場合にのみ、成功へとパスしたいと思います。 ありがとうございます。

答えて

0

$('#username').keyup(function() { 
      var email = $(this).val(); 

      if(email != "") { 

      $.ajax({ 
       type: 'GET', 
       url: 'http://localhost:8080/MeublesTunisv4/web/app_dev.php/email-verification/' + email, 
       dataType: "json", 
       beforeSend: function() { 
        $('#email_status').html('<img id="loading" src ="{{ asset('bundles/theme_front_end/images/loading.gif')}}"></img>'); 

       }, 
       success: function (data) { 

        // Check response data... 
        if(data == 'true') { 

         $('#email_status').remove(); 
         $('#email_status').html('<img id="loading" src ="{{ asset('bundles/theme_front_end/images/green_tick.png')}}"></img>'); 

        } 

       } 

      }); 
     } 

    }); 
+0

を解決するために私を助けたありがとう"null"ではなく、空の文字列などのヌル値です。そうでなければ、この答えは私と同じです。 –

+0

申し訳ありません...しかし、私はちょうどレコードが見つからない場合は、応答がnullまたはfalse(任意のトークン).. – Nikhil

+0

ありがとう#Nikhilそれは動作しますが、私はいくつかのコードを変更します:if(data.email != null)。私のjsonは{'email': 'emailValue'}です。私は電子メールがnullかどうかを比較します。ありがとうございました – Mostafa

0

何かをする前にエラーチェックを試してください。したがって、successコールバックが呼び出されます(条件付きで停止することはできません)が、コードは無効になります。

dataがNULL(空の文字列)でない場合にのみ実行されるように、以下でsuccessイベントハンドラ内のすべてをカプセル化:

if(data != "") { 
    // action here 
} 

私はあなたが「と言うとき、あなたは何を意味するかわからないんだけどdata is null "であるため、上記のような単純な空文字列の条件では、データがnullかどうかをチェックするのには不十分な場合があります。これは単にdataパラメータが空であるかどうかをチェックします。

+1

...あなたが望む通りに動作しますFollowing..Hopeをお試しくださいラムダ忍者も私は 'data'は*文字通り*'だろうとは思わない問題 – Mostafa

関連する問題