javascript - 当使用通过 AJAX 设置的 $_GET[] 全局变量时,If 语句总是证明为假

标签 javascript php 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] 与我期望为真的字符串进行了比较。但是由于某种原因,比较似乎总是失败。

文本测试.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 中为数据添加引号或从查询字符串中删除引号。

关于javascript - 当使用通过 AJAX 设置的 $_GET[] 全局变量时,If 语句总是证明为假,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27998717/

相关文章:

php - Composer 安装失败 : SSL handshake timeout

php - 为什么 greenplum 的准备速度这么慢?

jquery - Ajax 调用填充 Typeahead Bootstrap

javascript - jQuery Keyup 从未输入

javascript - mustache ,使用外部模板

javascript - 将百分比相关的验证添加到 html 输入框

PHP mysql_query() 手动输入日期有效 PHP 变量无效

javascript - 只刷新页面问题的div

javascript - CSS - 即使 slider 设置为 100% 宽度,响应式推荐 slider 文本也不会调整大小

javascript - 如何使 jQuery ui 选项卡与其中的对象一样宽?