[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как увидеть переменную
nighting
Здравствуйте! Вопрос скорее от новичка в 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
$.post посылает асинхронный запрос, этот ответ не ждется

Т.е. по факту будет слаться запрос
Потом код выполнится alert(zzz);
И когда то потом уже прийдет ответ и выполнится то что внутри $.post


_____________
There never was a struggle in the soul of a good man that was not hard
comolov
Цитата (nighting @ 13.07.2019 - 09:10)
Собственно вопрос в том, что я не могу переменную zzz превратить из состояния "qqq" в "kkk" внутри .post

Можешь, ты это и сделал, только alert тоже в post запиши. Действия с zzz делай из post функции.
nighting
Цитата
$.post посылает асинхронный запрос, этот ответ не ждется

Понял... Сделал всё внутри .post, и всё заработало. Спасибо.

_____________
Стране нужны паровозы! Стране нужен метал!
arbuzmaster
Ничего не понятно, но очень интересно! cool.gif Зачем из qqq делать kkk, ведь это не дает ровным счетом ничего?

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
nighting
Цитата (arbuzmaster @ 16.07.2019 - 21:27)
Ничего не понятно, но очень интересно! cool.gif  Зачем из qqq делать kkk, ведь это не дает ровным счетом ничего?

Я просто код для вас упростил, чтоб вы не разбирались в куче сена в поисках того, что мне нужно было.
У меня в одной функции было несколько .post() запросов. И каждый из них должен был вернуть или true или false. Эти true и false как раз и хранились в переменной zzz.
А потом (я так рассчитывал) после post запросов я хотел в этой же функции if else проверить переменную zzz, и если она изменилась (в примере с qqq на kkk) - то submit() формы, ну а если нет, то и нет))
Я не подумал о том, что сначала функция срабатывает полностью, и только потом(в смысле асинхронно) приходят данные от .post() и меняют zzz.

Короче, не парьтесь))

_____________
Стране нужны паровозы! Стране нужен метал!
Kusss
вынеси эту проверку в отдельную функцию, и передавай в неё 2 параметра. Какая это функция и ответ запроса
nighting
Цитата (Kusss @ 17.07.2019 - 07:47)
вынеси эту проверку в отдельную функцию, и передавай в неё 2 параметра. Какая это функция и ответ запроса

Я сделал немного по другому. Я все .post запросы объединил в один, ответ разделил splitом, и проверку сделал прям в нём.

_____________
Стране нужны паровозы! Стране нужен метал!
Kusss
split , а почему не json ?
nighting
Цитата (Kusss @ 17.07.2019 - 08:29)
split , а почему не json ?

У меня для одного post было несколько ответов... Я их разделил запятыми и отправил как один ответ. Поэтому split. Как то можно было сделать проще с json?

_____________
Стране нужны паровозы! Стране нужен метал!
Kusss
Как-то так
$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
Цитата (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
Цитата (Kusss @ 17.07.2019 - 15:43)
$.post('aj.php',{ajax: 'checkmail', mail: mail},
try {
  json = $.parseJSON(data);
  if (json.answer1)


$.getJSON же smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.