jQuery和php(ajax)2021不等于2021

时间:2020-06-19 12:39:49

标签: php jquery ajax

我有一个无法理解的问题。我做了很多测试,但结果却打扰了我。我从那里获取数据的ajax请求是:

$check = 0;
$output = '';

while($data = mysqli_fetch_assoc($result1)){
    if($check == 0){
        $output = $data['license'];
        $check = 1;
    }else{
        $output .= ','.$data['license'];
    }
}
echo $output;

最后输出为“ 2020,2021”。现在我在js中有了警报来测试结果:

success: function(data) {
          alert(data); //get "2020,2021" from this alert
          var tab = data.split(',');
          alert(tab[0]+','+tab[1]); //get "2020,2021" from this alert
          if(tab[0]=='2020'){
            alert('yes1');
          }else{
            alert('no1');
          }
          if(tab[1]=='2021'){
            alert('yes2');
          }else{
            alert('no2');
          }
}

但是现在的问题是:我收到的另外两个警报是“ yes1”和“ no2” ....我的2020如何等于2020和2021不等于2021? 如果有人可以帮助,我就是不明白。

更新:当我提醒tab [1] +','+ tab [0]我有:

“ 2021

,2020”

我什么时候都无法添加(我的“ SELECT * FROM my_table WHERE license ='2021'“可以获取所有结果,所以不在我的数据库中)

2 个答案:

答案 0 :(得分:0)

尝试一下(在您的代码中将success =更改为success :

success = function(data) {
  console.log(data); //get "2020,2021" from this alert
  const [tab0, tab1] = data.split(',');
  console.log(tab0 === '2020' ? 'yes0' : 'no0');
  console.log(tab1 === '2021' ? 'yes1' : 'no1');
}

  
// testing 
success("2020,2021")
success("2020, 2021")

然后尝试:

success = function(data) {
  console.log(data); //get "2020,2021" from this alert
  const [tab0, tab1] = data.match(/\d{4}/g);
  console.log(tab0 === '2020' ? 'yes0' : 'no0');
  console.log(tab1 === '2021' ? 'yes1' : 'no1');
}

// testing 
success("2020,2021")
success("2020, 2021")

答案 1 :(得分:-2)

如您所见,数据是否正确,脚本工作:

          var data='2020,2021';
          var tab = data.split(',');
          alert(tab[0]+','+tab[1]); //get "2020,2021" from this alert
          if(tab[0]=='2020'){
            alert('yes1');
          }else{
            alert('no1');
          }
          if(tab[1]=='2021'){
            alert('yes2');
          }else{
            alert('no2');
          }