DrZhmurge
@DrZhmurge

Как отправить значения из input в cURL запросе к API и получить ответ?

Суть задачи в том, чтобы при заполнении формы пользователем данные которые он ввел в полях Email и Телефон подставлялись в cURL запрос к API в виде: EMAIL=email@gmail.com&PHONE=79652224433" и возвращался ответ, есть ли пользователь с такими данными или нет.
Как реализовать чтобы это происходило именно после нажатия кнопки "Подтвердить"?
Какой должен быть обработчик нажатия кнопки подтвердить? И где должен при этом находиться сам cURL запрос?
  • Вопрос задан
  • 435 просмотров
Решения вопроса 1
DrZhmurge
@DrZhmurge Автор вопроса
Код который посылает запрос к контроллеру и получает ответ
<script>
	(function($) {
		$(document).ready(function(){
			if( $('#wpforms-form-446').length ) {
				$('#wpforms-submit-446').prop('disabled', true);
				$('#wpforms-446-field_21, #wpforms-446-field_3').change(function(){
					check();
				});
				$('#wpforms-form-446 .wpforms-field-container').append('<div id="errs"></div>');

				$('#wpforms-submit-446').click(function(event){
					if( $('#wpforms-submit-446').prop('disabled') )
						return;

					let email = $('#wpforms-446-field_3').val();
					let phone = $('#wpforms-446-field_21').val();
					let password = $('#wpforms-446-field_4').val();
					let name = $('#wpforms-446-field_1').val();

					if( email.length == 0 || phone.length == 0 )
						return;

					$.ajax({
					  method: "POST",
						dataType : 'json',
					  url: "/api.php?create-user",
					  data: { email: email, phone: phone, password: password, name: name }
					})
				  .success(function( msg ) {
						$('#errs').html('');
						console.log(msg)
				  });
				});

				function check() {
					let email = $('#wpforms-446-field_3').val();
					let phone = $('#wpforms-446-field_21').val();
					if( email.length == 0 || phone.length == 0 )
						return;

					$.ajax({
					  method: "POST",
						dataType : 'json',
					  url: "/api.php?has-user",
					  data: { email: email, phone: phone }
					})
				  .success(function( msg ) {
						$('#errs').html('');
						let b_error = false;
						if( msg.error !== undefined ) {
							let error = msg.error;
							for (var variable in error) {
								b_error = true;
								$('#errs').append('<label class="wpforms-error">'+error[variable]+'</label>');
							}
						}
						else {
							if( msg.result !== undefined && msg.result == true ) {
								b_error = true;
								$('#errs').append('<label class="wpforms-error">Пользователь существует. <a href="https://a-n-h.space/rm_login/">Войти</a></label>');
							}
						}

						if( b_error == false ) {
							$('#wpforms-submit-446').prop('disabled', false);
						}
				  });
				}
			}
		});
	})( jQuery );
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Как то так.

onsubmit (e){
e.preventDefault();
var email = document.getElementById('email')
var phone = document.getElementById('phone')
var url = apiUrl + '?EMAIL=' + email + '&PHONE=' + phone;
$.get(url, function(data){
parseData(data)
});
}
Ответ написан
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
ajax'ом отправляем данные на контроллер который выполняет запрос к апи и возвращает результат
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 нояб. 2024, в 14:37
3000 руб./в час
24 нояб. 2024, в 13:04
500 руб./в час
24 нояб. 2024, в 12:29
3000 руб./за проект