javascript — XMLHttpRequest и переполнение стека

Я беру информацию из формы. Входные данные содержат простую арифметическую операцию, такую ​​как 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();

-1

Решение

+ представляет пробел в строке запроса. использование encodeURIComponent() чтобы правильно кодировать значение:

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector