JQuery .ajax数据未定义

时间:2013-07-04 20:03:36

标签: jquery ajax

我有一个$ .ajax请求,当我发送成功的响应数据:function(data)时,我得到数据但由于某种原因我不能在If语句中使用它:

    $.ajax({
      type: "POST",
      url: "control.php",
      data: {"txtNumFattura" : $("#txtNumFattura").val(),
             "txtDataFattura": $("#txtDataFattura").val()},

      success: function(data) {
        console.log(data);
        if (data == 'OK') {
          console.log("Chiave non ancora utilizzata");
          $("#submitMyForm").removeAttr("disabled");
        } 
        else if(data == 'KO') {
          $("#mySubmitForm").attr("disabled","disabled");
          console.log("Chiave Utilizzata");
        };
      }
    });

例如,console.log给我“OK”或“KO”,但似乎它没有在if语句中读取它。

3 个答案:

答案 0 :(得分:0)

OK或KO后可能会有额外的空格。使用

console.log("*" + data + "*");

如果有,你可以使用replace()删除这些。例如,

data = data.replace(/\s/g, "");

\s是一个空格字符,' g'意味着全球化。

答案 1 :(得分:0)

尝试

if(data.toLowerCase().indexOf('ok') != -1){
  // ok was found
} else if (data.toLowerCase().indexOf('ko') != -1) {
  // ko was found
} else {
  // neither was found
}

答案 2 :(得分:0)

如果你确定它给你OK或KO,你可以试试这个:

if ($.trim(data) === 'OK') {
  console.log("Chiave non ancora utilizzata");
  $("#submitMyForm").removeAttr("disabled");
} else if($.trim(data) === 'KO') {
  $("#mySubmitForm").attr("disabled","disabled");
  console.log("Chiave Utilizzata");
};