If 语句在使用设置为 AJAX 的 $_GET[] 全局变量时总是证明为假

If statement always proving false when using the $_GET[] global variable set with AJAX

我最近才开始学习 AJAX,这个小问题似乎是凭空冒出来的。我写了一个 html 页面,它使用此代码创建一个 AJAX 连接并发送一个带有 id 的获取请求。

        function loadXML() {
            var xmlhttp;
            if(window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
            }else{
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("text").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "textTesting.php?id='first'", true);
            xmlhttp.send();
        }

在我的 textTesting.php 中,为了测试,我首先将传入变量 $_GET[id] 与我期望为真的字符串进行了比较。但是由于某种原因,比较似乎总是失败。

textTesting.php:

<?php
$output = "";
if(isset($_GET["id"])) {
    $output = $_GET["id"];
    if($output == 'first'){
        $output .= " confirmed";
    }
}
echo $output;
?>

是否缺少 PHP 或 AJAX 的概念?在编写此 if 语句时,我期望 'first confirmed' 成为输出。

如果需要,请提出任何进一步的问题。

您传递的值是 'first',但您将其与 first 进行比较,因此它不匹配。

在您的查询字符串中,引号是数据。在您的 PHP 中,引号是字符串分隔符。

为 PHP 中的数据添加引号或从查询字符串中删除引号。