Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 77

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

06.06.2018, 21:02. Показов 1275. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.06.2018, 21:02
Ответы с готовыми решениями:

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

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

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

2
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
08.06.2018, 05:41
Цитата Сообщение от Aspromist Посмотреть сообщение
Хотелось бы узнать, в чем было дело.
Быть может в процессе написания скриптов вы передавали методом GET вместо POST --- не обратили внимания --- увидели доп. строку в адресной строке, ?name=123&tel=321 такая строка обычно появляется при работе с GET-методом
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 77
08.06.2018, 17:02  [ТС]
Явно "GET" я нигде не прописывал. Разве что неявно как-то GET запрос прошел каким-то образом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.06.2018, 17:02
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru