Php 检查来自ajax请求的响应
我试图在Php 检查来自ajax请求的响应,php,jquery,ajax,Php,Jquery,Ajax,我试图在if语句中使用从PHP文件返回的数据 我真的不知道如何使用AJAX,因此经过一些研究后,我决定在这里提问 代码 function checkstatus(){ $.post('wait.php', function(data){ var status = data; if(status == "groda") { console.log("GRIS"); } else { console.log("Sparris"); }
if
语句中使用从PHP文件返回的数据
我真的不知道如何使用AJAX,因此经过一些研究后,我决定在这里提问
代码
function checkstatus(){
$.post('wait.php',
function(data){
var status = data;
if(status == "groda") {
console.log("GRIS");
} else {
console.log("Sparris");
}
});
}
Wait.php
<?php
session_start();
include('var.php');
include_once('dbi.php');
$email = $_SESSION["email"];
$gamecode = $_SESSION['gamekod'];
$id = $rid['id'];
$status;
$sql = "SELECT * FROM $gamecode WHERE id='$id'";
if($result = mysqli_query($link, $sql)){
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
$gamestatus = $row['status'];
mysqli_close($link);
}
}
}
?>
我有一个PHP文件(wait.PHP
),它从我的数据库中获取一个值,然后使用AJAX请求,我试图查看该文件的输出是什么。如果输出是groda
,则它将记录一些内容,如果不是,则不会记录
我的问题是if和else语句不起作用。它从数据库中更新,但
=
部分没有完成它的工作。即使值/数据是groda
,它仍然会记录sparris
“即使值/数据为groda,它仍会记录sparris” 这在逻辑上是不可能的。计算机不能违背你给它的指令。根据程序规则,它将始终以相同的方式处理相同的输入
如果你考虑这个事实,那么很明显,真正的问题必须是<代码>数据< /代码>不包含你认为它所做的。检查是否有空格或其他意外字符,尤其是在字符串的开头或结尾(请参阅类似内容的效果示例)
然后考虑清洗源数据,如果合适的话,或者添加一些代码,在测试其值之前,将从输出中修剪空白或其他潜在的无关字符。 一个非常简单的示例-这将在将数据字符串与硬编码值进行比较之前,从数据字符串的任一端修剪空白:
if(status.trim() == "groda") {
console.log("GRIS");
} else {
console.log("Sparris");
}
请参阅演示。“如何正确编写包含数据的if和else语句”……这有点含糊不清。“正确”是根据可用数据,让它做任何你想让它做的事情。您没有给我们一个具体的问题来解决,但我想您的问题是您的
if
语句没有达到您的预期,这可能是因为您的PHP脚本没有实际返回任何数据。但这只是一个猜测……你能确认你的实际问题是什么吗(而不是假设一个有点抽象的问题)?我的问题是我的if和else语句不起作用。它从数据库更新,但==不检查。即使值/数据是groda,它仍然会记录sparris。希望这有助于“即使值/数据是groda,它仍然会记录sparris”,这是不可能的(请参阅以获取证据)。更有可能的是,这些数据并不是你想象的那样。检查是否有空格或其他意外字符,尤其是在字符串的开头或结尾(请参阅类似内容的效果示例)。不幸的是,您没有向我们展示如何从PHP输出,也没有展示任何示例数据,因此我无法在这方面为您提供太多帮助,只是说您需要使用浏览器工具进行一些调试您回答了我的问题,谢谢。请您用“检查输出”或类似的方式“回答问题”,groda之后有“无止境”数量的退格^^^没问题。另外,没有理由编辑你的问题来指出它已经解决了-人们可以看到,因为答案是“接受的”:-)