Возникла такая проблема, мне нужно следующее:
1. PHP передает значение на js в data
2. JS проверяет, какое значение ему было передано и выдолняет соответствующий код.
Проблема в следующем:
Я не могу просто написать if(data == "true"){
, это не работает, как получить значение из data?
Код js:
function onLogin(data)
{
if(data == "true"){
alert("true");
}
if(data == "false"){
alert("false");
}
}
Код php (да, пользователь должен ввести в качестве логина true или false, но это я потом исправлю, сейчас нужно именно научиться получать значение из data):
<?php
$login = $_POST['login'];
echo("$login");
?>
Отправка данных на сервер PHP:
$.post(
"check.php",
{
login: login
},
onLogin
);
Вот пример с вашим запросом. Функции выполняются асинхронно поэтому код выглядит как то так.
//кроссбраузерное создание объекта для работы с запросом
function getXmlHttp(){
var xmlhttp;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
//основной код в виде отдельной функции
function main() {
// (1) создать объект для запроса к серверу
var req = getXmlHttp()
//функция которая выполнится после получения ответа сервера
req.onreadystatechange = function() {
if (req.readyState == 4) {
// тут ваши действия если сервер не ответил
console.log("Сервер не отвечает");
}
else {
if(req.status == 200) {
// если статус 200 (ОК) - проверяем данные
data=req.responseText;
//и вот тут ваши действия
if(data == "true"){
alert("true");
}
if(data == "false"){
alert("false");
}
}
// тут можно добавить else с обработкой других ошибок запроса
}
}
// тут собственно выполняем запрос. у вас может быть другой адрес
req.open('GET', '/ajax/data.php', true);
req.send(null);
// Дальше просто ждем пока выполнится запрос
console.log("Ожидаю ответа сервера...");
}
Если вы работаете через jq, то вам нужно написать как то так.
$.post(
"check.php",
{
login: login
},
.done(function(data) {onLogin(data);})
);
Хотя это эквивалентно вашему варианту.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте! Есть ли возможность в PHP соединить все классы и обращаться к ним из любого места? Те
Доброго времени суток всем, есть ссылка $_SERVER["REQUEST_URI"] такого вида mvc/cabinet/user, mvc/ это каталог в котором проект находится и его нужно обрезать...
Решил пройти туториал по последней версии cakephp (35