Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery Ajax if-else语句不能正确解释字符串_Php_Jquery_Ajax_If Statement - Fatal编程技术网

Php jQuery Ajax if-else语句不能正确解释字符串

Php jQuery Ajax if-else语句不能正确解释字符串,php,jquery,ajax,if-statement,Php,Jquery,Ajax,If Statement,这是一个令人沮丧的问题,因为它涉及到一些如此基本的东西,但我正在竭尽全力想弄清楚为什么它不起作用 这是对PHP脚本的简单Ajax调用。当结果返回时,回调中有一个if-else语句,它应该给出两个可选的操作过程。出于某种原因,if语句被忽略,即使PHP脚本中的字符串似乎匹配 代码如下。PHP脚本返回字符串“nothing”,这是它应该做的。console.log显示字符串被正确地传递到jQuery脚本,但是if/else语句只是在目标中显示字符串,而不是像它应该做的那样隐藏。谁能告诉我我做错了什么

这是一个令人沮丧的问题,因为它涉及到一些如此基本的东西,但我正在竭尽全力想弄清楚为什么它不起作用

这是对PHP脚本的简单Ajax调用。当结果返回时,回调中有一个if-else语句,它应该给出两个可选的操作过程。出于某种原因,if语句被忽略,即使PHP脚本中的字符串似乎匹配

代码如下。PHP脚本返回字符串“nothing”,这是它应该做的。
console.log
显示字符串被正确地传递到jQuery脚本,但是if/else语句只是在目标
中显示字符串,而不是像它应该做的那样隐藏
。谁能告诉我我做错了什么?我有一个可怕的怀疑,这将是一个可笑的简单

jQuery

      $.ajax({
      url: "getcompleted.php",
      type: "POST",
      data: {eMail: eMail},
      success: function(data){
        console.log(data)
        if (data == "nothing"){
          $('#completedAssessDiv').hide();
            }
        else {
          $('#completedAssessContent').html(data);
        }
      }
    });
PHP


检查php标记之外的任何空白


ie在

之前,我认为您应该添加
数据类型:“text”


只需在代码中使用
exit
,如果您不返回任何内容,那么在代码之后使用
exit
会更好

你的情况应该是这样的

else {
  echo "nothing";
}
exit;
试试这个:

使用单引号而不是双引号,同时将“nothing”括起来,如下所示:

在JQuery中:

if (data == 'nothing'){
在PHP中:

echo 'nothing';
if($.trim(data)=“nothing”)
在成功中尝试alert(JSON.stringify(data)),并查看它包含什么
console.log(“#”+data+“#”)
以检查空白
else {
  echo "nothing";
}
exit;
if (data == 'nothing'){
echo 'nothing';