我有两个数组。 1是空的,其他有5个项目。我想数数并显示它。
我发送这样的ajax请求:
function countTrash()
{
$.ajax({
type: "GET",
url: "count_trash_delete.php",
data: "action=1",
success: function(response){
$("#badge3").html(response);
}
});
}
function countRemove()
{
$.ajax({
type: "GET",
url: "count_trash_delete.php",
data: "action=2",
success: function(response){
$("#badge2").html(response);
}
});
}
我的count_trash_delete.php看起来像这样
if(isset($_GET['action'])) {
$action = 1;
}else{
$action = 2;
}
if($action === 1){
$trash_arr = file_get_contents('trash_bots.json');
$trash_arr = json_decode($trash_arr);
$number_of_trashed = count($trash_arr);
echo $number_of_trashed;
}elseif($action === 2){
$remove_arr = file_get_contents('remove_bots.json');
$remove_arr = json_decode($remove_arr);
if(!empty($remove_arr)){
$number_of_removed = count($remove_arr);
echo $number_of_removed;
}else{
echo 'Empty';
}
}
当我得到回应时,两者都是5.我无法理解。
答案 0 :(得分:1)
你要求页面做同样的事情,所以它做同样的事情。这是问题代码:
if(isset($_GET['action'])) {
$action = 1;
}else{
$action = 2;
}
该代码中$_GET['action']
的值无关紧要,如果它完全存在,您将$action
设置为1
并且如果不存在,则会将$action
设置为2
。由于您总是传递action
,因此该页面始终执行相同的操作。
您可能希望将$action
设置为$_GET['action']
的值:
if(isset($_GET['action'])) {
$action = (int)$_GET['action'];
}else{
$action = /*...some appropriate default number...*/;
}