jQuery帖子比较没有按预期工作

时间:2016-03-07 12:26:29

标签: jquery

以下代码无法正常工作。

$.post("submitpackages.php", {inoofads:z, ivaliddays:y, country:"india", })
   .done(function(data){
     alert(data);
     if(data=="true"){
       alert("true1"); 
       $("#success").show();
       $("#error").hide(); 
     }else{
       alert("false1");
       $("#success").hide();
       $("#error").show();         
     }
  });

我回应" true"在submitpackages.php。在帖子中,alert(data)打印为true,然后转到else条件并打印false1而不是打印true1。代码有什么问题?

3 个答案:

答案 0 :(得分:0)

无需报价。 请尝试这个,

if(data==true) {
 your code ...
}

答案 1 :(得分:0)

由于我不确定你submitpackages.php实际返回的是什么,我猜它会返回一个布尔值。

以下将警告“true”,然后测试2和4测试为正:

  var t = true
  alert(t)
  if(t=="true")
     alert("1")
  if(t==true)
     alert("2")
  if(t==="true")
     alert("3")
  if(t)
     alert("4")

var t = true更改为var t = "true"仍然会提醒“true”,但现在测试为1,3和4为正。

答案 2 :(得分:0)

问题是 回显值的长度与我检查它的长度不同。回波值长度更高。 所以我使用了trim()

$.post("submitpackages.php", {inoofads:z, ivaliddays:y, country:"india", })
.done(function(data){
 alert(data);
 if(data.trim()=="true"){
   alert("true1"); 
   $("#success").show();
   $("#error").hide(); 
  }else{
   alert("false1");
   $("#success").hide();
   $("#error").show();         
  }
 });