2017-10-06 113 views
0

我正在編寫一個代碼,用戶在其中檢查多個複選框,並將這些用戶分配給所選分區。我在複選框的循環中使用$ .post函數。一切工作正常,檢查用戶被分配到選定的部門。現在,問題是我想在$ .post函數後面打印一個響應,但是我在這個post函數之後編寫的所有東西,javascript在該函數之前執行它,這就是爲什麼我無法打印響應。爲了您的方便,請檢查下面的代碼並提出可能的解決方案。

非常感謝

function assign_user(div_id){ 
    //alert(div_id); 
    var favorite = []; 
    $.each($("input[name='user']:checked"), function(){ 
     value = $(this).val(); 
     $.post("../db/assign_user.php",{div_id:div_id,value:value}, 
     function(x){ 

     }); 
// I want to print final response here but it executes before post function 
    }); 
} 
+0

打印什麼反應? –

+0

像一個警告成功消息 –

+0

你必須等到成功消息存在。你還沒有提供甚至試圖打印信息的代碼,所以......我們不知道你實際上做錯了什麼,我們所能做的只是猜測。 –

回答

-1

Ajax請求是異步的。他們被髮送到服務器,然後JavaScript繼續,而不等待迴應。如果您鍵入Ajax要求如:在success功能

$.ajax({ 
    url: "../db/assign_user.php", 
    type: 'POST', 
    data: {div_id:div_id,value:value}, 
    success: function(data){ 
    alert(data); 
    } 
}); 

然後,你可以處理或警報的響應。