Ciao a tutti, sto utilizzando il seguente codice per inviare delle variabili ad un'altra pagina tramite Ajax e così com'è funziona senza problemi:

codice:
$var1 = "123";
$var2 = "456";

echo '<button type="button" onclick="showUser('.$var1.', '.$var2.')">Test</button>';

<script type="text/javascript">
    function showUser(str, str2) {
        if (str == "") {
            document.getElementById("txtHint").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            } else {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET","test.php?var1="+str+"&var2="+str2,true);
            xmlhttp.send();
        }
    }
</script>
Però non capisco perchè se $var1 è uguale a qualcosa tipo "rmZZyZ56PjFQ44fBRkEjk" ottengo questo errore: "Uncaught ReferenceError: rmZZyZ56PjFQ44fBRkEjk is not defined".. Perché non dovrebbe funzionare dato che $var1 è in entrambi i casi una stringa?