Начинаю знакомиться с PHP и хочу отправить форму без перезагрузки страницы, вот скрипт:
function post(){
var name = fields[0].value,
lastname = fields[1].value,
xhr = new XMLHttpRequest();
xhr.open('POST', 'setDb.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
var gender = radioMan.checked ? "male" : "female";
xhr.send("name=" + encodeURIComponent(name) +
"&lastname=" + encodeURIComponent(lastname) + "&gender=" + encodeURIComponent(gender));
//Проверка ответа от сервера
if (xhr.readyState == 4) {
if(xhr.status == 200) {
alert(xmlhttp.responseText);
}
}
}
setDb.php php скрипт, который будет записывать данные в БД, сейчас скрип в скрипте содержится инструкция echo, которая должна вывести имя переданное на сервер из формы
<?php
echo $_POST["name"];
?>
Дело в том, что не могу получить ответ от сервера, xmlhttp.responseText = 0; Что делаю не так?
Проверять ответ следует в обработчике события onreadystatechange
:
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
};
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/onreadystatechange
Спасибо за помощь, вот код который решил мою проблему
function post(){
var name = fields[0].value,
lastname = fields[1].value,
gender = radioMan.checked ? "male" : "female",
xhr = new XMLHttpRequest();
xhr.open('POST', 'setDb.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function(){
//Проверка ответа от сервера
if (xhr.readyState == 4) {
if(xhr.status == 200) {
alert(xhr.responseText);
}
}
};
xhr.send("name=" + encodeURIComponent(name) +
"&lastname=" + encodeURIComponent(lastname) + "&gender=" + encodeURIComponent(gender));
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
хочу с помощью строковых операторов создать sql запрос update есть рабочий пример на insert Данные поступают из $_POST пример $array = $_POST["pet"] = "cat"; где...
Столкнулся с такой трудностью: если установлен виджет, например, группы вк, и у пользователя из Украины нет VPN, то страница грузится бесконечно...