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 中的数据添加引号或从查询字符串中删除引号。
我最近才开始学习 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 中的数据添加引号或从查询字符串中删除引号。