2017-10-03 18 views
0

boolを返すこの関数を呼び出すときに、boolが未定義になっている問題があります。 それは私がするvar BOOL = funcationNameを(試したブール値を返す必要があります)が、それはそれは本当示しているアラートにboolを返すjQuery関数が返されます。

IsaAtionResultExist

createAction

$("#createAction").click(function() { 


    var bools = IsaAtionResultExist(Clinetfirstname, Clinetlastname, datasource, status, cliendid); 
        if (bools === true) { 
        return false; 
    }  
}); 
    } 
}); 

IsaAtionResultExist undeffiend戻っています

function IsaAtionResultExist(Clinetfirstname, Clinetlastname, datasource, status, cliendid) { 
     alert("Second"); 
     debugger; 
     $.ajax({ 
      type: "GET", 
      url: '@Url.Action("IsaAtionResultExist", "P4C")', 

      data: { Clinetfirstname: Clinetfirstname, Clinetlastname: Clinetlastname, datasource: datasource, status: status, cliendid: cliendid }, 

      success: function (data) { 
       if (data === true) { 
        alert(data); 
        return data; 
       } else { 
        return false; 
       } 
      } 
     }); 

    } 

答えて

0

あなたができないajaxコールバックからデータを返そうとしています。 Javascriptが非同期なので、折り返し関数によってajaxコールバックの戻り値が返されません。

0

$.ajax(...)が約束を返す非同期呼び出しである場合、約束が解決された後でしかブール値をチェックできません。次のように私は、その約束を返すために、あなたのAJAX機能を変更しました:

function IsaAtionResultExist(Clinetfirstname, Clinetlastname, datasource, status, cliendid) { 
    return $.ajax({ 
     type: "GET", 
     url: '@Url.Action("IsaAtionResultExist", "P4C")', 
     data: { 
      Clinetfirstname: Clinetfirstname, 
      Clinetlastname: Clinetlastname, 
      datasource: datasource, 
      status: status, 
      cliendid: cliendid 
     }, 
     success: function (data) { 
      if (data === true) { 
       alert(data); 
       return data; 
      } else { 
       return false; 
      } 
     } 
    }); 
} 

は、その後、あなたのクリックイベントでは、次の手順を実行する必要があります。

$("#createAction").click(function() {      
    IsaAtionResultExist(Clinetfirstname, Clinetlastname, datasource, status, cliendid) 
    .done((bools) => { 
     // do something with your bools 
     // but not a return statement unless you need it for a successive 
     // callback chain 
    }; 
}); 
関連する問題