无法使用AJAX / JQuery访问全局变量

时间:2014-02-19 15:55:09

标签: javascript php jquery ajax codeigniter

我有一个全局变量 var emp_error = 0; 但是当我通过 else 访问emp_error时(因为tr的bg颜色发生变化),emp_error仍为0。 有人可以帮我吗?因此,如果员工ID已经存在,它将不会更新

$.ajax({
     type: "POST",
     url: "<?php echo site_url('c_device/check_empId'); ?>",
     data: dataString,
     dataType: 'json',
     cache: false,
     success: function(data){
              console.log(data);
              if(data.length == 0){
                   emp_error=0;
              }else{
                   $("#error_"+tr_id).html("Emp id exists");    
                   $("#"+tr_id).css("background-color","red");                  
                   emp_error++;
              }                  
     }
});

1 个答案:

答案 0 :(得分:0)

假设您希望emp_error在多次调用时递增,您需要a)在失败时不重置为0,并且b)在函数外部定义它,以便emp_error++有增加的内容第一个电话不是空的。

定义包含ajax调用的函数外部的全局。

演示:http://jsfiddle.net/5h9pL/

如果你不打多个电话,实际上只是想在找到一个员工时设置emp_error,那就不要搞砸全局了:

      if(data.length == 0){
           emp_error = 0;
      }else{
           $("#error_"+tr_id).html("Emp id exists");    
           $("#"+tr_id).css("background-color","red");                  
           emp_error = 1;
      }