2017-10-25 18 views
-1

私のコードが私のAJAX関数でreturn文を持っているべきかどうか疑問に思っていました。ここに例があります:JQuery Ajax関数でtrue/falseを返す必要がありますか?

$.ajax({ 
    type: 'POST', 
    url: 'Application.cfc?method=runProcess', 
    data: {'userID':userID}, 
    dataType: 'json' 
}).done(function(obj){ 
    if(obj.STATUS == 200){ 
     $('#searchMsg').addClass("success").show().text(obj.MESSAGE).delay(3500).fadeOut('slow').queue(function(){ 
      $(this).removeClass("success").dequeue(); 
     }); 
     return true; //Should I keep this 
    }else{ 
     $('#searchMsg').addClass("error").show().text(obj.MESSAGE).delay(3500).fadeOut('slow').queue(function(){ 
      $(this).removeClass("error").dequeue(); 
     }); 
     return false; //Should I keep this 
    } 
}).fail(function(jqXHR, textStatus, errorThrown){ 
    alert(errorThrown); 
}); 

ご覧のとおり、私の機能には2つのリターンステートメントがあります。どちらもtrueまたはfalseを返します。これは、ajax return objに依存します。私はそれらを私の機能に入れておくべきかどうか?それを持っていることの利点は何ですか?そして、それは何ですか?もし誰かが私に教えてください説明することができます。ありがとうございました!

+1

あなたは彼らの長所と短所について教えてください。アプリケーションでどのように使用されるかを知っている人がいます。 – Taplar

+0

@Taplar私はそれらを私の機能で必要としませんが、私は彼らがそれらを使用する多くの例を見ています。だから私はちょうどそれらを持っているかどうかの長所と短所を理解したい。ありがとうございました。 –

+0

不要な場合は、削除してください。後で必要になった場合は、追加してください。 ajaxは非同期であるため、どのようにそれらを使用することを期待していますか? – Taplar

答えて

0

いいえ、削除してください。彼らはあなたのために何もしません。コールバック関数のif/thenのどの部分でAJAX呼び出しが成功したか失敗したかを知ることができます。

これらのステートメントはすべて、発信者が希望どおりに使用できる呼び出し元に値を返送し、プログラムによる実行を停止します。ここでは、呼び出し元はdoneメソッド呼び出しであり、戻り値は期待されていません。また、関数内で最後に実行されるステートメントがあるため、実行は中止されます。

1

何かをチェックするためにajax呼び出しを送信し、サーバーが存在する場合はtrueを返します。そうでない場合はfalseを返します。たとえば、ログインします。maユーザー名とパスワードをデータベースに送信します。彼らはユーザーにシステムにログインすることを意味します。falseの場合は、ユーザーが存在しないが、必要でない場合はfalseです。新しいリンクを開く必要がある場合は、他にエラーがありません。コード例

$.ajax({ 
     url: geturl, 
     type: "POST", 
     data:{email:email,pass:pass}, 
     success: function (res) { 
      if (res == "admintrue") 
      { 
       AutoLoader("Admin Login Succeffully", "success"); 
       var URL = $("#Afetlogin").val(); 
       window.location.href = URL; 
      } else if (res == "membertrue") { 
       AutoLoader("Member Login Succeffully", "success"); 
       var URL = $("#memberlogin").val(); 
       window.location.href = URL; 
      } 

      else { 
       AutoLoader("Error", "error"); 
      } 
     } 
    }) 
関連する問題