2015-07-20 248 views
-1

我在javascript中使用AJAX時遇到此問題。爲什麼這兩個相同的字符串在JavaScript中不相等?

usernameRequest.responseText的值爲「ok」,類型爲字符串,但它不等於字符串「ok」。請告訴我爲什麼,非常感謝!

http://i.stack.imgur.com/xCKuH.png

http://i.stack.imgur.com/x68DG.png

+6

請提供一個代碼片段,如果你能。 –

+3

您需要提供更多信息,可能是上下文,甚至是整個例程。 –

+0

你如何檢查平等?也許嘗試'trim()'以刪除尾隨空格。 'usernameRequest.responseText.trim()==='ok',儘管響應似乎不太可能有尾隨空格。 – pushkin

回答

3

==相比,似乎是相同的,以不符合通常的原因有兩個字符串是一個或兩個含有一些空白或換行,你是不知道的使兩個字符串不完全相同。

你通常可以通過查看調試此:

console.log("'" + usernameRequest.responseText + "'"); 

這將讓你看到字符串的邊界,並看到任何開頭或結尾的空白,甚至換行,看看你有什麼和爲什麼它可能不匹配。

你也可以修剪多餘的空格斷絃這樣的對比面前:

if (usernameRequest.responseText.trim() == "ok") 
+0

是啊!謝謝。有用!!! – sydridgm

相關問題