Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
394 / 147 / 31
Регистрация: 26.11.2019
Сообщений: 394
1

Ответ на post запрос

20.12.2019, 08:59. Просмотров 1330. Ответов 4
Метки нет (Все метки)


использую phpmailer, а из браузера отправляю post-запрос методом fetch, чтобы не было перезагрузки страницы
в файле обработчике почты в конце такой код
PHP
1
2
3
4
5
if(!$mail->send()) {
    echo 'Error';
} else {
    echo 'Ваша заявка отправлена';
}
мне нужно чтобы в fetch в случае успешной отправки возвращалось что-то вроде true,
а в случае неудачи false
чтобы промис в браузере запускал функцию показа всплывающего окна либо с благодарностью, либо "попробуйте позже"
собственно вопрос: что прописать в строках echo, чтобы браузер понял ответ как "успешно" либо "не успешно"?
и вообще, там именно echo должно быть? Я просто не знаю php
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2019, 08:59
Ответы с готовыми решениями:

Ответ на POST запрос
Ребят ситуация следующая, есть пост запрос, все работает как надо, но вот беда в том что мне нужно...

post -ответ
доброго дня .ребята может у кого есть минутка посмотреть скрипт и подсказать какие строки прописать...

POST - ОТВЕТ
Прошу не судить меня строго) я еще чайник ) Как сформировать POST ответ т. е. клиент шлет...

Ответ сервера на get\post запросы
Ситуация такова: посылаю серверу запрос методом get или post в ответ получаю страницу в непонятной...

4
1111 / 554 / 318
Регистрация: 21.06.2012
Сообщений: 1,852
20.12.2019, 10:54 2
Peskova_Sveta, чтобы скрипт отправил содержимое клиенту на ajax запрос, скрипт должен эти данные вывести на экран при помощи любого оператора вывода.
Например:
PHP
1
2
3
echo 'test 1 <br>';
printf('test 3 <br>');
exit('test 3 <br>');
или даже так:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
<?php
//script
if(){
?>
<div style="border:1px solid;">html</div>
<div style="border:1px solid;">html</div>
<div style="border:1px solid;">html</div>
<?php
}
?>
А как именно и где выводить, решать только вам.
0
394 / 147 / 31
Регистрация: 26.11.2019
Сообщений: 394
20.12.2019, 11:20  [ТС] 3
sasha0012,
1. а в первом вашем примере это не будет видно на странице? Мне не надо чтобы пользователь что-то видел.
2. И как браузер поймёт test 1 это успешно или неудачно?
0
1111 / 554 / 318
Регистрация: 21.06.2012
Сообщений: 1,852
20.12.2019, 11:35 4
Лучший ответ Сообщение было отмечено Peskova_Sveta как решение

Решение

Peskova_Sveta, если вы страницу с php скриптом вызываете посредством ajax, то пользователь не увидит то что там происходит, он увидит только то что вы сами захотите ему показать. Чтобы понять механизм работы этой технологии, попробуйте запустить у себя эту демонстрацию:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
 
<input type="text" id="message">
<p id="submit">Отправить</p>
<div id="client_echo"></div>
 
<script>
$("#submit").click(function(){
 
    $.post( 'server.php', {"param": $('#message').val()}, function(data){
        
        if(data == 'error'){
            $('#message').html('Ошибка');
        }else{
            $('#message').html(data);
        }
        
    });
 
});
</script>
server.php:
PHP
1
2
3
4
5
6
7
if(isset($_POST['param'])){
    if($_POST['param']==1){
        echo 'error';
    }else{
        echo $_POST['param'];
    }
}
суть в том что вы сами прописываете алгоритм ответа сервера (скрипта пхп), а на клиенте показываете сообщения об ошибке или поздравляете с успехом. В общем алгоритм сами продумывайте.

Добавлено через 1 минуту
Цитата Сообщение от Peskova_Sveta Посмотреть сообщение
И как браузер поймёт test 1 это успешно или неудачно?
вот как вы сами для себя решите так и браузеру скажите. Если у вас test 1 это означает неудача, то тогда так будет:

Javascript
1
2
3
4
5
        if(data == 'test 1'){
            $('#message').html('Ошибка');
        }else{
            $('#message').html('Успех');
        }
1
394 / 147 / 31
Регистрация: 26.11.2019
Сообщений: 394
20.12.2019, 11:40  [ТС] 5
sasha0012, вооооот! теперь понятно! спасибо большущее!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2019, 11:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Ответ на запрос
У меня есть переменная которая принимает данные: $data = $_POST; Мне нужно после того как я...

Ответ на post запрос
Как сделать ответ (не тот, который 200, а конкретно содержимое странички) в том же окне, откуда...

Post запрос получить ответ
Здравствуйте! Имеется POST-запрос, в браузере я получаю ответный Content-Lenght=36, в ответе Json...

POST-Запрос и его ответ
Вступление: У РЖД есть такая программа лояльности - РЖД Бонус. Суть её в том, что за успешные...


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

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

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