Ajax请求继续返回false

时间:2018-04-24 15:29:37

标签: javascript php ajax

我正在编写一个带有ajax请求的简单变体程序:

  $("#codeSbmt").click(function(){
            var $input = $("#fourDigit");
             codeCheck("codeTest.php?q=" + $input);
        })
                    function codeCheck(url) {
var xhttp;
xhttp=new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
    document.getElementById("message").innerHTML = this.responseText
}
};
xhttp.open("GET", url, true);
xhttp.send();
}
这是它登陆的页面:

$q = $_REQUEST['q'];



if($q === $_SESSION['pl_code']){
 $_SESSION['activated'] = true;
}else{
   echo "Incorrect code";
}

我的困境是,无论什么PHP脚本返回else语句,这是“错误的代码”。我甚至用这样的虚拟数字替换了$ _SESSION:

if($q === 4949){
 $_SESSION['activated'] = true;
}else{
   echo "Incorrect code";
}

即使这样,它也会返回else语句。

1 个答案:

答案 0 :(得分:-1)

var $input = $("#fourDigit");
codeCheck("codeTest.php?q=" + $input);

您正在对jQuery对象进行字符串化处理(这将为您提供类似"[object Object]"的内容)。

您没有包含足够的HTML(始终提供[mcve]!),但您可能需要$input.val()

if($q === 4949){

$_REQUEST中的数据将是字符串。将其与===的数字进行比较将无法正常工作。