0

わからない 有効な質問を下回っていますか? またはただの私の愚かさ。

 function IsSlaExists(department) {
     var flag = "";
     $.ajax({
         type: "POST",
         data: "Type=ISSLAEXISTS&Department=" + encodeURI(escape(department)),
         url: "class-accessor.php",
         success: function (data) {
             //flag=data;  
             flag = "YES";
         }
     });
     return flag;
 }

 alert(IsSlaExists('department'));

の値を返そうとしていflagますが、フラグの値を手動で設定しても関数は空白を返します。私は何を間違っていますか?

4

1 に答える 1

0
$.ajax({
       type: "POST",
       data: "Type=ISSLAEXISTS&Department=" + encodeURI(escape(department)),
       url: "class-accessor.php"
}).done(function(r){
      alert("flag");
});

これにより、AJAX リクエストが成功したときにアラートが表示されます。r応答が取得したデータが含まれます。たとえば、done 関数内でリクエストを処理する別の関数を呼び出すことができます。

$.ajax はpromiseを返すため、ajax 呼び出しだけを返し、関数を連鎖させることができます。

function ajaxCall(department) {
    return  $.ajax({
           type: "POST",
           data: "Type=ISSLAEXISTS&Department=" + encodeURI(escape(department)),
           url: "class-accessor.php"
    });
}

ajaxCall("myDept").done(function(response){
   alert(response);
})
于 2013-05-08T13:12:11.540 に答える