Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
比较javascript中的字符串(字符串来源于xmlhttp.responseText)_Java_Javascript_Ajax_Servlets_Xmlhttprequest - Fatal编程技术网

比较javascript中的字符串(字符串来源于xmlhttp.responseText)

比较javascript中的字符串(字符串来源于xmlhttp.responseText),java,javascript,ajax,servlets,xmlhttprequest,Java,Javascript,Ajax,Servlets,Xmlhttprequest,我的servlet响应一个包含“false”或“true”的字符串 =>Servlet代码:out.println(validusername);validusername是我的servlet中的一个字符串,它在我的javascript中指向var validusername 在我的前端,我有以下javascript代码: 问题是,当我的servlet返回false时,javascript总是跳转到“else”中。。我想知道为什么。。搜索了几个小时。 我知道我的servlet响应为“false”

我的servlet响应一个包含“false”或“true”的字符串 =>Servlet代码:out.println(validusername);validusername是我的servlet中的一个字符串,它在我的javascript中指向var validusername

在我的前端,我有以下javascript代码: 问题是,当我的servlet返回false时,javascript总是跳转到“else”中。。我想知道为什么。。搜索了几个小时。 我知道我的servlet响应为“false”,因为警报(validusername)出现在一个弹出窗口中,其中包含文本“false”。。。你们知道为什么validusername==“false”总是跳进我的else标签吗

我认为比较有问题,但我找不到

非常感谢你的帮助

var validusername = xmlhttp.responseText; 
 if (validusername == "false") {

  alert("username already exists");
 }
 else {

 alert("username free");
 alert(validusername); //this popup contains the value "false"

可能需要修剪字符串并进行比较

validusername = validusername.replace(/^\s+|\s+$/g,"");
从今天起停止使用
alert(…)
,改用“console.log(…)”。它会将数据打印到web控制台,您可以更好地了解正在发生的事情。它也不会阻止你的页面。如果没有关于发生了什么的信息,第一个建议是强制验证所有数据。即使您拥有servlet


强制
if(validusername==“false”)
正确解析,而不是使用
if(validusername.trim()==“false”)
——现在如果失败,至少字符串不能“看起来”像false而实际上不是“false”。

可能是因为您真正拥有的是
false\n
?JavaScript有一个
string.trim()
=)谢谢你,伙计!!这是可行的,我将使用console.log进行进一步调试