@Secret73

Как сделать отправку http при нажатии на кнопку?

Мне нужно сделать, что бы при нажатии на кнопку "Отправить" выполнялся http запрос https://sms.ru/sms/send?api_id=........&to=.......... Если я вставляю его в файл contact.php при помощи header, то у меня запрос выполняется, письмо на email приходит, но перестает работать код об успешной отправки сообщения, скажите как правильносделать?
Вот код формы, функция отправки в файле contact.php
<div class="popup-foot">
                       <div class="close_modal-foot">x</div>
                       <form class="fofm-foot" action="">
                           <h5>Форма обратной связи</h5>
                           <input type="text" required="" placeholder="Имя" name="txtname">
                           <input type="text" placeholder="Адрес" name="txtemail">
                           <input type="tel" pattern="^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$" required="" placeholder="Телефон" name="txtphone">
                           <textarea name="txtmessage" placeholder="Описание" rows="10"></textarea>
                        <input type="submit" class="button-foot" value="Отправить" name="btnsend">
                       </form>
                 </div>

                      <div class="popup2-foot">
                      <div class="close_modal-foot">x</div>
                        <div class="window-foot">
                           <div class="insText-foot">
                              <h5>Ваш запрос отправлен</h5>
                              <p>Наш менеджер свяжется с вами в ближайшее время!</p>
                           </div>
                        </div>
                      </div>


Вот часть из кода js
//аякс форма обратной связи
	//проверяет какой ответ был получен
	//и в зависимости от ответа
	//выводит информацию о статусе
	//отправки письма
	$(".fofm").submit(function() {
		var str = $(this).serialize();
		$.ajax({
			type: "POST",
			url: "contact.php",
			data: str,
			success: function(msg) {
				if(msg == 'ok') {
					$('.popup2, .overlay').css('opacity','1');
					$('.popup2, .overlay').css('visibility','visible');
					$('.popup').css({'opacity':'0','visibility':'hidden'});
				}
				else {
					$('.popup2 .window').html('<h5>Ошибка</h5><p>Сообщение не отправлено, убедитесь в правильности заполнение полей</p>');
					$('.popup2, .overlay').css('opacity','1');
					$('.popup2, .overlay').css('visibility','visible');
					$('.popup').css({'opacity':'0','visibility':'hidden'});
				}
			}
		});
		return false;
	});
  • Вопрос задан
  • 282 просмотра
Пригласить эксперта
Ответы на вопрос 2
sanchezzzhak
@sanchezzzhak
Ля ля ля...
f12 в хроме и смотим что выдает response вам при ответе
joxi.ru/5mdBwl8HvvEdeA

ошибка явно в php скрипте.
Ответ написан
iNickolay
@iNickolay
...
 success: function(msg) {
        if(msg == 'ok') {
            ...
        }
        else {
            ...
        }
...

У вас как минимум не правильная проверка.
Первая переменная - это возвращаемые данные, а вот вторая - уже статус выполнения.

Ну и есть же отдельная функция error, которая будет вызвана в случае неудачного завершения запроса к серверу.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы