2017-10-06 48 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); 
    } 
}); 

然后,你可以处理或警报的响应。