关于我的文本框中的这两个值(text,text2),我遇到了一个问题,似乎text2只显示了它的值,有什么方法可以摆脱这些东西吗。任何帮助都将不胜感激。
parameters = ('text=' + document.getElementById('text').value) && ('text2=' + document.getElementById('text2').value;
xmlhttp.open('POST', 'try.php', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(parameters);
parameters = ('text=' + document.getElementById('text').value) && ('text2=' + document.getElementById('text2').value;
这句话错了。&&
的意思不是"连接":它的意思是"逻辑和"。基本上,它的意思是"如果运算符的任何一侧都是错误的,则返回false
,否则,返回右侧"。因此,这将始终返回'text2=' + document.getElementById('text2').value
,因为这是&&
运算符的右侧。
您需要将它们连接起来,因为您在其他情况下非常正确地使用了运算符+
。
parameters = 'text=' + document.getElementById('text').value + '&' + 'text2=' + document.getElementById('text2').value;
请注意,您可能还应该使用encodeURIComponent
来确保您正在发出有效的HTTP请求:
parameters = 'text=' + encodeURIComponent(document.getElementById('text').value) + '&' + 'text2=' + encodeURIComponent(document.getElementById('text2').value);
不要使用&&
来连接字符串,请使用+
。也有不平衡的括号,并且您在URL字符串中缺少用于分隔参数的"&"。
parameters = 'text=' + document.getElementById('text').value + '&text2=' + document.getElementById('text2').value;