为什么这两个相同的字符串在JavaScript中不相同?

syd*_*dgm 3 javascript ajax

当我在javascript中使用AJAX时遇到这个问题.

值为usernameRequest.responseText"ok"且类型为字符串,但它不等于字符串"ok".请告诉我原因,非常感谢!

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

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

jfr*_*d00 9

两个字符串看起来相同而不匹配的通常原因==是,一个或两个字符串包含一些空格或换行符,您不知道这两个字符串不完全相同.

您通常可以通过查看以下内容来调试:

console.log("'" + usernameRequest.responseText  + "'");
Run Code Online (Sandbox Code Playgroud)

这将让你看到字符串的边界,并查看任何前导或尾随空格甚至换行符,以确切了解你有什么以及它可能不匹配的原因.

您还可以在比较之前修剪字符串中的额外空格,如下所示:

if (usernameRequest.responseText.trim() == "ok") 
Run Code Online (Sandbox Code Playgroud)