Las variables booleanas publicadas a través de AJAX se tratan como cadenas en el lado del servidor

Lo siguiente es parte de una funcionalidad AJAX para agregar clases y paquetes al carrito de sesión: -

La parte jquery

function addClassToCart(itemId)
{
   addItemToCart(itemId,true);
}

function addPackToCart(itemId)
{
   addItemToCart(itemId,false);
}

function addItemToCart(itemId,isClass)
{   
     $.post(url+"/ajax/add_cart", { operation: 'add_cart','isClass':isClass, 'itemId': itemId},
        function(data)
        {
               if(data.success)
               {
                      alert("item added to cart");
               }
        }, "json");

}

La solicitud de AJAX que procesa la parte php -

//Checking operation and other posted parameters
if($_POST['isClass'])
{
  //Code to add class to session cart

}
else
{
  //Code to add pack to session cart
}

Lo extraño

No importa si paso verdadero / falso (llamando a addClassToCart () y addPackToCart ()), siempre se ejecuta el código para agregar clase al carrito de sesión.
Si pongo declaraciones de eco así:

    if($_POST['isClass'])
    {
      echo "see if condition ".$_POST['isClass'];
    }
    else
    {
      echo "see else condition ".$_POST['isClass'];
    }

Esta es la salida: -

addClassToCart ()see if condition true
addPackToCart ()see if condition false

Sin embargo, poner condiciones como esta en el código jquery funciona bien: -

function addItemToCart(itemId,isClass)
 {  
     if(isClass)
        alert("is class");
     else
        alert("is pack");
 }

Finalmente, si modifico el código del lado del servidor para esto: -

if($_POST['isClass'] === true)
        {
          echo "see if condition ".$_POST['isClass'];
        }
        else
        {
          echo "see else condition ".$_POST['isClass'];
        }

Estas son las salidas:

addClassToCart ()see else condition true
addPackToCart ()see else condition false

Entonces, ¿por qué la variable booleana se trata como una cadena aquí? ¿Estoy haciendo algo mal al publicar los parámetros?

Gracias sandeepan

Respuestas a la pregunta(4)

Su respuesta a la pregunta