如果声明触发错误警报

时间:2018-05-23 06:31:45

标签: javascript php jquery

我试图在ajax调用的成功函数中触发警报。问题是它持续触发相同的警报,似乎无法识别数据字符串值。

在我的示例中,持续触发的警报是yes警报。我可以在firebug中看到php返回的值是我想要比较的。我很困惑为什么这个简单的功能不起作用,需要在开始主编码之前找到解决方案。如果有人可以帮助我,我将不胜感激。非常感谢

AJAX

success: function(data) {
  if (data == 'No Date Set') {
    alert('No');
  }
  else {
    alert('yes');
  }
}

PHP

if($ddate =='No Date Set') {
  echo $ddate;
}

ajax代码段

$.ajax({
  type: 'POST',
  url: 'niajax.php',
  data: data,
  async: false,
  beforeSend: function() {
    $(".text").show().html('Processing your request...');
  },
  success: function(data) {
    console.log(data);
    if (data == 'No Date Set') {
      alert('Date not set');
    }
    else {
      alert('Date set');
    }
  },
  error: function(xhr) {
    $(".text").fadeIn(4000).html('Error occured.please try again').fadeOut(4000);
    //alert("Error occured.please try again");
  },
  complete: function() {},
})

2 个答案:

答案 0 :(得分:2)

问题不明确,但可能是由于空格,您可以trim返回数据:

success: function(data)
    if (data.trim() == 'No Date Set') {
      alert('Date not set');
    }
    else {
      alert('Date set');
    }
},

答案 1 :(得分:-1)

使用truefalse或创建一个单词status,而不是设置长文本。

上述惯例有时可能含糊不清,比较需要一些时间。