Я беру информацию из формы. Входные данные содержат простую арифметическую операцию, такую как 2 + 3. Насколько я могу сказать, вход принят правильно. Здесь чанк имеет небольшую часть ввода из поля ввода формы. Как вы можете видеть, когда alert (chuck) выдает 2 + 3 (правильная вещь), но ответ, который я получаю после отправки ‘2 + 3’ для вычисления .php в качестве параметра, равен 2 3 (2 пробела 3). В моем Calculate.php просто есть что-то вроде echo $ _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();
+
представляет пробел в строке запроса. использование encodeURIComponent()
чтобы правильно кодировать значение:
xmlhttp.open("GET", "calculate.php?param="+encodeURIComponent(chunk),true);
Других решений пока нет …