nighting
13.07.2019 - 09:10
Здравствуйте! Вопрос скорее от новичка в js и jquery, поэтому извиняюсь если что...
Есть код:
function checkVars(){
var mail = $("#rmail").val();
var zzz="qqq";
$.post('aj.php',{ajax: 'checkmail', mail: mail},function(data1){
if(data1 == "mailerror"){
$("#errmail").show();
} else
if(data1 == "true"){
$("#errmail").hide();
}
zzz = "kkk";
});
alert(zzz);
}
Собственно вопрос в том, что я не могу переменную zzz превратить из состояния "qqq" в "kkk" внутри .post. Если что
window.zzz="kkk";
я уже пробовал.
Буду благодарен за любой совет...
_____________
Стране нужны паровозы! Стране нужен метал!
Michael
13.07.2019 - 13:05
$.post посылает асинхронный запрос, этот ответ не ждется
Т.е. по факту будет слаться запрос
Потом код выполнится alert(zzz);
И когда то потом уже прийдет ответ и выполнится то что внутри $.post
_____________
There never was a struggle in the soul of a good man that was not hard
comolov
13.07.2019 - 15:24
Цитата (nighting @ 13.07.2019 - 09:10) |
Собственно вопрос в том, что я не могу переменную zzz превратить из состояния "qqq" в "kkk" внутри .post |
Можешь, ты это и сделал, только alert тоже в post запиши. Действия с zzz делай из post функции.
nighting
15.07.2019 - 11:42
Цитата |
$.post посылает асинхронный запрос, этот ответ не ждется |
Понял... Сделал всё внутри .post, и всё заработало. Спасибо.
_____________
Стране нужны паровозы! Стране нужен метал!
arbuzmaster
16.07.2019 - 23:27
Ничего не понятно, но очень интересно!
Зачем из qqq делать kkk, ведь это не дает ровным счетом ничего?
_____________
Мой первый сайтикПосмотри на свой XBMC под другим углом
nighting
16.07.2019 - 23:45
Цитата (arbuzmaster @ 16.07.2019 - 21:27) |
Ничего не понятно, но очень интересно! Зачем из qqq делать kkk, ведь это не дает ровным счетом ничего? |
Я просто код для вас упростил, чтоб вы не разбирались в куче сена в поисках того, что мне нужно было.
У меня в одной функции было несколько .post() запросов. И каждый из них должен был вернуть или true или false. Эти true и false как раз и хранились в переменной zzz.
А потом (я так рассчитывал) после post запросов я хотел в этой же функции if else проверить переменную zzz, и если она изменилась (в примере с qqq на kkk) - то submit() формы, ну а если нет, то и нет))
Я не подумал о том, что сначала функция срабатывает полностью, и только потом(в смысле асинхронно) приходят данные от .post() и меняют zzz.
Короче, не парьтесь))
_____________
Стране нужны паровозы! Стране нужен метал!
вынеси эту проверку в отдельную функцию, и передавай в неё 2 параметра. Какая это функция и ответ запроса
nighting
17.07.2019 - 10:13
Цитата (Kusss @ 17.07.2019 - 07:47) |
вынеси эту проверку в отдельную функцию, и передавай в неё 2 параметра. Какая это функция и ответ запроса |
Я сделал немного по другому. Я все .post запросы объединил в один, ответ разделил splitом, и проверку сделал прям в нём.
_____________
Стране нужны паровозы! Стране нужен метал!
split , а почему не json ?
nighting
17.07.2019 - 16:03
Цитата (Kusss @ 17.07.2019 - 08:29) |
split , а почему не json ? |
У меня для одного post было несколько ответов... Я их разделил запятыми и отправил как один ответ. Поэтому split. Как то можно было сделать проще с json?
_____________
Стране нужны паровозы! Стране нужен метал!
Как-то так
$answer = [
'answer1' => true,
'answer2' => true,
'answer3' => false,
];
echo json_encode( $answer );
$.post('aj.php',{ajax: 'checkmail', mail: mail}, function(data){
try {
json = $.parseJSON(data);
if (json.answer1)
console.log('Ответ1');
if (json.answer2)
console.log('Ответ2');
if (json.answer3)
console.log('Ответ3');
} catch(error) {
console.log('Ошибка Json' + data);
}
});
nighting
17.07.2019 - 18:05
Цитата (Kusss @ 17.07.2019 - 14:43) |
Как-то так$answer = [ 'answer1' => true, 'answer2' => true, 'answer3' => false, ]; echo json_encode( $answer );
$.post('aj.php',{ajax: 'checkmail', mail: mail}, function(data){ try { json = $.parseJSON(data); if (json.answer1) console.log('Ответ1'); if (json.answer2) console.log('Ответ2'); if (json.answer3) console.log('Ответ3'); } catch(error) { console.log('Ошибка Json' + data); } }); |
Спасибо, возьму на вооружение... Я не силён в js.
_____________
Стране нужны паровозы! Стране нужен метал!
killer8080
19.07.2019 - 01:22
Цитата (Kusss @ 17.07.2019 - 15:43) |
$.post('aj.php',{ajax: 'checkmail', mail: mail}, try { json = $.parseJSON(data); if (json.answer1) |
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.