Форум программистов, компьютерный форум, киберфорум
Наши страницы
jQuery
Войти
Регистрация
Восстановить пароль
 
Aspromist
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 75
1

Не получается отправить запрос к php-файлу через ajax, чтобы не перезагружалась страница.

06.06.2018, 21:02. Просмотров 410. Ответов 2

Добрый вечер! Не получается отправить запрос к php-файлу через ajax, чтобы не перезагружалась страница.У меня сообщение "Email Sent" появляется, но страница перезагружается. Помогите пожалуйста.

Вот форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<form class="container">
    <div class="inputWrapper">
        <div class="inputButton">
            <input type="text" placeholder="Введите ваше имя" name="name" required></input>
        </div>
    </div>
    <div class="inputWrapper">
        <div class="inputButton">
            <input placeholder="Введите ваш номер" name="tel" required></input>
        </div>
    </div>
    <div class="consultWrapper2">
        <button -type="submit" class="consultButton" id='submit2'>
            <a -href="http://google.com">
                <span>
                    <span id="innerSpan">Получить консультацию</span>
                    <img id="innerIcon" src="img/galka.svg" alt="galka"></img>
                </span>
            </a>
        </button>
    </div>
</form>
Вот скрипт (пока тестовые данные):
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
    $('#submit2').click(function() {
 
        $.ajax({
            url: 'mail.php',
            type: 'POST',
            data: {
                name: '123',
                tel: '321'
            },
            success: function(msg) {
                alert('Email Sent');
            }               
        });
    }); 
</script>
Вот php-файл (тоже тестовый вывод):
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
// if($_POST['name']){ // заносим в массив значение полей, их может быть больше
//   $znach = array(
//     1 => $_POST['name'],
//     2 => $_POST['tel'],
//   );
//   mail("aspro0709@gmail.com", "заказ звонка  ".$_SERVER['HTTP_REFERER'], "Имя: ".$znach[1]."\n"."Номер: ".$znach[2]); // письмо на свой электронный ящик, измените на свой email
 
echo "<pre>";
print_r($_POST);
echo "</pre>";
 
// }
//  Header("Refresh: 0; URL=".$_SERVER['HTTP_REFERER']); // спустя 0 секунд человек будет возвращён на предыдущий URL
?>
UPDATE:
Дописал в скрипт e.preventDefault() - заработало как надо. Но в адресной строке добавилось "?name=123&tel=321". Как это можно убрать?

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script>
    $('#submit2').click(function(e) {
        e.preventDefault();
        $.ajax({
            url: 'mail.php',
            type: 'POST',
            data: {
                name: '123',
                tel: '321'
            },
            success: function(msg) {
                alert('Email Sent');
            }               
        });
    }); 
</script>
PHP-файл:
PHP
1
2
3
4
5
6
7
8
9
<?php
 if($_POST['name']){ // заносим в массив значение полей, их может быть больше
   $znach = array(
     1 => $_POST['name'],
     2 => $_POST['tel'],
   );
   mail("aspro0709@gmail.com", "заказ звонка  ".$_SERVER['HTTP_REFERER'], "Имя: ".$znach[1]."\n"."Номер: ".$znach[2]); // письмо на свой электронный ящик, измените на свой email
 }
?>
Добавлено через 44 минуты
Последняя проблема с "?name=123&tel=321" разрешилась как-то сама собой. Хотелось бы узнать, в чем было дело.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2018, 21:02
Ответы с готовыми решениями:

Не получается отправить ajax запрос через JQuery
Есть форма с текстовыми полями и кнопкой submit. Внизу располагается панель с картинками. Мне...

Как сделать запрос к php файлу, чтобы страница не обновлялась?
Всем привет. Подскажите пожалуйста, как обратиться к php файлу и вернуть значение на страницу без...

Как отправить post запрос php файлу?
Добрый вечер всем. 3-й день пробую отправить моё приложение POST запрос PHP файлу. Столкнулся с...

AJAX запрос к файлу php и json
Здравствуйте, у меня проблемы с пониманием того как JavaScript взаимодействует с PHP через AJAX....

Ajax запрос не к файлу, а к php коду
Подскажите пожалуйста, как реализовать: Имеется возможность сделать кнопку с ajax загрузкой...

2
Mr_Sergo
1264 / 659 / 241
Регистрация: 29.04.2016
Сообщений: 1,809
08.06.2018, 05:41 2
Цитата Сообщение от Aspromist Посмотреть сообщение
Хотелось бы узнать, в чем было дело.
Быть может в процессе написания скриптов вы передавали методом GET вместо POST --- не обратили внимания --- увидели доп. строку в адресной строке, ?name=123&tel=321 такая строка обычно появляется при работе с GET-методом
0
Aspromist
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 75
08.06.2018, 17:02  [ТС] 3
Явно "GET" я нигде не прописывал. Разве что неявно как-то GET запрос прошел каким-то образом.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2018, 17:02

Доступ из одного php файлу в другой через ajax
У меня на сайте одна точка входа index.php В htacess т.е. запрет просто так открыть любой файл - ...

Отправить данные через Ajax в определённую функцию PHP
Здравствуйте! Долго думал как объяснить суть вопроса, в общем есть функция ajax :...

Как отправить и получить ответ от php через ajax?
Здравствуйте. Не совсем было понятно, где создавать тему (php или js). Если ошибся, приношу свои...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru