Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.03.2021, 14:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от begovik
я не понимаю как их использовать
Сейчас попробую, кагбэ, это проиллюстрировать...
Нужно немного времени на создание тестового примера.
Ответить с цитированием
  #12 (permalink)  
Старый 09.03.2021, 14:37
Интересующийся
Отправить личное сообщение для begovik Посмотреть профиль Найти все сообщения от begovik
 
Регистрация: 09.02.2019
Сообщений: 22

Сообщение от ksa Посмотреть сообщение
Все что тебе нужно - просто выполнить эту обработку не в самой "функции", а в колбэке ответа на запрос 8-го параметра.
ЧТО ЭТО ВООБЩЕ??? То, что ты написал, для меня звучит как "доруйтвюйтфивлгйпиурмйцл ориулцйопулйбоьцимсрйпцу сбкмсйц"

Можешь написать пример, раз это всего лишь "Все что тебе нужно"?
Ответить с цитированием
  #13 (permalink)  
Старый 09.03.2021, 14:43
Интересующийся
Отправить личное сообщение для begovik Посмотреть профиль Найти все сообщения от begovik
 
Регистрация: 09.02.2019
Сообщений: 22

Я придумал девиз для разработчиков JS да и для JS в целом: "Зачем входить в дом через парадную дверь? Лучше вырыть тоннель к дому в километре от дома и ползком пробираться через него!!!"
Ответить с цитированием
  #14 (permalink)  
Старый 09.03.2021, 15:03
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от begovik
Зачем входить в дом через парадную дверь? Лучше вырыть тоннель к дому в километре от дома и ползком пробираться через него!!!
Ты пока не понимаешь с чем ты имеешь дело...
Ты должен наладить взаимодействие нескольких компов (минимум клиент + сервер), а результат показать на клиенте.
При этом сервер может вообще на тебя положить и ответа не прислать. Или связь между клиентом и сервером пропадет.

Вот тебе обещанная иллюстрация...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<style type='text/css'>
label {
	display: block;
	margin: 10px;
}
.off {
	display: none;
}
</style>
<script>
$(function(){
	$('button').on('click',()=>{
		// Подготовил какие-то параметры
		var prm1=$('#prm1').val();
		var prm2=$('#prm2').val();
		// Выполнил запрос к серверу
		setTimeout(()=>{
			let o3=$('#prm3');
			// Получил данные от сервера
			let prm3=o3.val();
			prm3=(prm3=='')? 'Сервер не ответил': prm3;
			o3.parent().toggle();
			o3.val('');
			// Выполнил нужные преобразования
			$('#info').html(prm1+'+'+prm2+'+'+prm3)
		},5000);
		$('#prm3').parent().toggle();
		$('#info').empty();
	});
});
</script>
</head>
<body>
<div>
	<label>Первый параметр <input id='prm1' /></label>
	<label>Второй параметр <input id='prm2' /></label>
	<label class='off'>Ответ сервера <input id='prm3' /></label>
	<div>
		<button>Выполнить преобразование</button>
	</div>
	<div id='info'></div>
</div>
</body>
</html>

Ты "готовишь" 2 инпута... Жмешь кнопку... Третий инпут это кагбэ сервер... Ты должен успеть ввести в него нужное значение.
После этого будет выполнено преобразование, в котором участвуют все 3 инпута.

setTimeout() в моем случае выполняет "роль" запроса к серверу.

Последний раз редактировалось ksa, 09.03.2021 в 15:12.
Ответить с цитированием
  #15 (permalink)  
Старый 09.03.2021, 15:06
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от begovik
Лучше вырыть тоннель к дому в километре от дома и ползком пробираться через него
Если клиентская тачка это "дверь", то сервер - "дом". И между ними действительно "километры"!!!
Так понятнее стало с чем ты имеешь дело?
Ответить с цитированием
  #16 (permalink)  
Старый 09.03.2021, 18:58
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,692

Сообщение от begovik
Ну вот напишите пожалуйста на моём примере как использовать эти страшные слова.
Ну как то так (не знаю, правда, что именно вы посылаете и получаете)
var myVar;
function async post () {
	let response = await fetch("handlers/mao_ajax.php", {
		method: 'POST',
		body: getClientId;
		});
	let data = await response.text()
	console.log(data);
	myVar = data;
	console.log(myVar);
}
Ответить с цитированием
  #17 (permalink)  
Старый 12.03.2021, 15:44
Интересующийся
Отправить личное сообщение для begovik Посмотреть профиль Найти все сообщения от begovik
 
Регистрация: 09.02.2019
Сообщений: 22

Простите, что долго не отвечал, был занят.
voraa В твоём примере JS ругается на вторую строку...
"Uncaught SyntaxError: Unexpected identifier"

ksa Я не утверждаю, что код не работает, но я отчасти не понял пример, отчасти его не вышло адаптировать мод моё приложение.
Плюс даже если внутри таймаута вывести в консоль переменную, то вывод выполняется раньше, чем приходит ответ от сервера. Я делаю вывод, что весь код нужно выполнять внутри запроса, а у меня ветвления и я в коде разместил несколько запросов, в зависимости от условий. Но я так понимаю, что из-за асинхронности они выполняются все в любом случае. Не понимаю таки как строить логику...
В общем, вопрос открыт...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему результат Ajax запроса - Исходный код страницы pro_xaoc AJAX и COMET 4 23.11.2011 10:03
Достать результат выполнения ajax-запроса из функции EvgeniyRRU AJAX и COMET 6 04.11.2011 19:32
Объясните пожалуйста как обратится к функции и получить результат zeraid AJAX и COMET 4 03.04.2011 14:55
результат от запроса jquery korner Общие вопросы Javascript 3 14.01.2011 16:05
как получить результат умножения b и e vmtiu Элементы интерфейса 5 27.11.2009 19:20