2013-03-21 51 views
-1

如果沒有有用的數據,PHP文件返回1。如果有有用的數據,那麼我想在<p>之後加上它。它是這樣做的,但它也附加了1。有人看到我要去哪裏嗎?如果函數內的語句不起作用

setInterval(function() { 
    $.ajax({ 
     url: 'gettweetcode.php', 
     dataType: 'text', 
     success: function (text) { 
      if (text != 1) { 
       $("p").after(text); 
       $("table").fadeIn(1500); 
      }; 
     } 
    }); 
}, 1000); // JavaScript Document 
+2

很可能您的PHP輸出不止一個字符。 'text.length'將確認。 – Jon 2013-03-21 23:37:52

+0

它確實有效。它只是沒有按預期工作。查看* actual *響應和/或附加一個調試器並檢查* actual *值。另外,即使JavaScript在這種情況下強制類型,請使用「1」來表示一個字符串。 – 2013-03-21 23:44:09

+0

@Jon,這樣$ .trim函數應該有所幫助,但它不會。 – 2013-03-21 23:50:52

回答

0

檢查字符串如果這是返回,並嘗試修剪掉空格,因爲這是sometmes一個問題:

setInterval(function() { 
    $.ajax({ 
     url: 'gettweetcode.php', 
     dataType: 'text', 
     success: function (text) { 
      if ($.trim(text) != "1") { 
       $("p").after(text); 
       $("table").fadeIn(1500); 
      }; 
     } 
    }); 
}, 1000); 
+0

好的,這是我的錯。 – 2013-03-21 23:53:16

+0

我有它的工作。我有超過1個來自php文件。 if($ .trim(text)!=「1」){(「p」)。after(text); $(「table」)。fadeIn(1500); }; – 2013-03-21 23:54:30

+0

@IainCheyne - 是否意味着$ .trim解決了這個問題(這不是一個罕見的問題btw)。 – adeneo 2013-03-22 00:08:01

0

使用此代碼:

if ($.trim(text) !== '1') ... 
+0

不,這不行。該文件的輸出絕對是1. – 2013-03-21 23:44:54

+0

你能告訴我確切的字符串長度嗎?可能編碼問題。 – 2013-03-21 23:48:29

0

使用本有條件的if(parseInt(text,10) !== 1)

如果它是1,只有1它應該沒問題。 Catch是,如果它返回「1dfw」,它也會解析爲1 - 所以如果可能發生這種情況,您可能需要修剪和子串。