我有一个无法理解的问题。我做了很多测试,但结果却打扰了我。我从那里获取数据的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'“可以获取所有结果,所以不在我的数据库中)
答案 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');
}