Javascript XMLHttpRequest和PHP

Javascript XMLHttpRequest和PHP,javascript,php,ajax,xmlhttprequest,Javascript,Php,Ajax,Xmlhttprequest,我从表单中获取输入。输入包含简单的算术运算,如2+3。据我所能说,输入是正确的。在这里,chunk有来自表单输入字段的一小部分输入。正如您所看到的,当alert(chuck)给出2+3(正确的东西)时,但我在发送'2+3'到calculate.php As参数后得到的响应是23(2空格3)。我的calculate.php只是有一些类似于echo$\u GET['param']的东西 我对这个话题没有太多经验。这里有什么问题 chunk = theInput.substring(0,3); ale

我从表单中获取输入。输入包含简单的算术运算,如2+3。据我所能说,输入是正确的。在这里,chunk有来自表单输入字段的一小部分输入。正如您所看到的,当alert(chuck)给出2+3(正确的东西)时,但我在发送'2+3'到calculate.php As参数后得到的响应是23(2空格3)。我的calculate.php只是有一些类似于echo$\u GET['param']的东西

我对这个话题没有太多经验。这里有什么问题

chunk = theInput.substring(0,3);
alert(chunk); //output is 2+3
document.getElementById("txtHint3").innerHTML = chunk;//output is 2+3
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200) {
    var response = this.responseText;
    alert(response);  // But here output is 2 3
    document.getElementById("txtHint223").innerHTML = response;  // And same here  is 2 3               
        }
};
xmlhttp.open("GET", "calculate.php?param="+chunk,true);
xmlhttp.send();

+
表示查询字符串中的空格。用于正确编码值:

xmlhttp.open("GET", "calculate.php?param="+encodeURIComponent(chunk),true);

您应该使用jQuery之类的框架,而不是尝试手动执行此操作。您的代码不可能适用于所有浏览器。查看您的PHP代码可能也很有用,因为它正在完成此处的大部分工作。谢谢。。。它现在起作用了。。。你能给我一个小的解释为什么有必要吗?因为查询字符串使用百分比编码。有些字符具有特殊含义(如
+
)。