2015-07-20 114 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

相关问题