Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153

POST запрос после json передачи данных

06.07.2015, 19:58. Показов 2927. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять, как мне одновременно сделать json передачу данных при нажатии на кнопку и передачу данных методом POST на страницу....
Как мне сделать так, чтобы работали одновременно эти две штуки?
Если что-то непонятно разъяснил, могу уточнить.
Заранее спасибо!)
Миниатюры
POST запрос после json передачи данных  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.07.2015, 19:58
Ответы с готовыми решениями:

Метод передачи POST - Ошибка при добавление данных
Доброго времени суток, и снова я) <?php $dbhost = "localhost"; // Имя хоста БД $dbusername = "Auto"; // Пользователь...

при передачи данных методом POST не преобразует в верхний регистр
Прошу помощи в решении следующей проблемы: при передачи данных методом POST не преобразует в верхний регистр $familiya =...

Нету названия кнопки для передачи post данных через curl
Когда передаю данные на свой сайт через curl логип пароль и кнопку вход все нормально, но нужно нажать кнопку на другом сайте там такого...

12
F57
 Аватар для F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
06.07.2015, 20:17
Зачем тебе post если можно это сделать через ajax или что ты там хочешь..
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
06.07.2015, 20:23
Цитата Сообщение от F57 Посмотреть сообщение
Зачем тебе post если можно это сделать через ajax
а ajax как передается, тот же post или get

Добавлено через 55 секунд
Цитата Сообщение от BabaSveta Посмотреть сообщение
Если что-то непонятно разъяснил, могу уточнить.
да, уточни, не понятно что тебе нужно.
0
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
07.07.2015, 12:11  [ТС]
Мне необходимо после ajax post запроса, осуществить передачу данных на другую страницу сразу вместе с переходом на неё, т.е. как будто бы обычная передача данных из формы POST запросом(без ajax), но так как я отменяю обычную POST передачу кодом - onsubmit="return false" , то я хз как это сделать...
0
F57
 Аватар для F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
07.07.2015, 12:52
Убрать onsubmit
input type=submit заменить на button
делаешь вызов ajax, после получения ответа что он выполнился this.form.submit()
1
14 / 14 / 13
Регистрация: 03.07.2015
Сообщений: 130
07.07.2015, 14:17
Либо на onsubmit вешаешь функцию, в ней делаешь передачу аяксом, ретурнишь тру и форма отсылается постом
1
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
16.07.2015, 20:56  [ТС]
Что я здесь делаю не так? Убрал onsubmit="return false", закомментировал проверки. Получается такая фигня, что он просто переходит на страницу отправляю пост данные, а ajax выполняться не хочет. В чём проблема? Заранее спасибо за ответ!

Вот сокращенно форма:
HTML5
1
2
3
4
5
6
<form class="zakaz_form"   method="post" action="/order" >
.....
....
....
....
</form>
Вот JavaScript:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$(document).ready(function(){
    $('.zakaz_form').submit(function(){
        $.ajax({
            type: "POST",
            url: "/ajax/make_zakaz",
            dataType: 'json',
            data: {
                name: $('.zakaz_form input[name="name"]').val(),
                email: $('.zakaz_form input[name="email"]').val(),
                phone: $('.zakaz_form input[name="phone"]').val(),
                man_ring: $('.zakaz_form select[name="man_ring"]').val(),
                woman_ring: $('.zakaz_form select[name="woman_ring"]').val()
            },
            success: function(response){ // response это то что возвращает /ajax/make_zakaz TODO ТЕ ТО ЧТО ТЫ PRINT(RESPONSE)
                if (response.status) {
                    //alert(response.result + ' Нажмите "ОК" вы будете перенаправлены на страницу заполнения данных');
 
                    //location="/order";
                } else {
                    // status == 0
                }
 
            },
            error: function(){
                alert(response.responseText);
            }
        });
    });
 
})
Вот обработчик:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
header('Content-Type: application/json');
 
 $name=$_POST["name"];
 $phone=$_POST["phone"];
 $email = $_POST["email"];
 $woman_ring = $_POST["woman_ring"];
 $man_ring = $_POST["man_ring"];
 
 $to = "kostir@mail.ru";
 $subject = "Вечная любовь. Заказ звонка.";
 $message = "\n Имя: $name!\n <br> Телефон: $phone\n <br> Е-Маил: $email <br> Мужской размер: $man_ring <br> Женский размер $woman_ring";
 $from = "JJneworder";
 $headers = "From: $from\r\n";
 $headers .= "Content-Type: text/html; charset=utf8\r\n";
 
 $result = array(
     'status' => 0,
     'result' => 'Ошибка отправки. Попробуйте позже.',
 );
 
 if(trim($name)!='' && trim($phone)!='' && trim($email)!=''){
     $res = mail($to,$subject,$message,$headers);
     if ($res) {
         $result['status'] = 1;
         $result['result'] = "Ваш заказ успешно отправлен! ";
     }
 }
 
print(json_encode($result));
0
 Аватар для furashcka
1 / 1 / 2
Регистрация: 03.07.2012
Сообщений: 32
17.07.2015, 01:59
Лучший ответ Сообщение было отмечено BabaSveta как решение

Решение

HTML5
1
2
3
4
5
6
<form class="zakaz_form"   method="post" action="/order" >
    <input name="name" type="text">
    <input name="email" type="text">
    <input type="submit" value="Ok" class="submit">
    ...
</form>

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
$(".submit").click(function(ev) {
    ev.preventDefault(); //Отмена события (отправка формы)
 
    $.post("/ajax/make_zakaz", $(".zakaz_form").serialize(), //аналогично {name : $("input name=['name']").val(), email : $("input name=['email']").val()}
    function(data) {
        data = $.parseJSON( data );
 
        if(data.status == 1) //если все ок отправляем форму на адрес который прописан в теге form
            $(".zakaz_form").submit();
        else
            alert( /* Ошибка... */ );
    });
});
1
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
17.07.2015, 17:36  [ТС]
частично помогло. теперь клик срабатывает при выборе размера колец... Т.е. пользователь ещё не закончил заполнять форму, а клик уже сработал... Можете посмотреть сами.. www.forever-love.ru Заполните любыми данными текстовые инпуты и попробуйте выбрать размер колец, произойдёт клик по кнопке заказа, хотя его не было... Как можно выкрутиться из этой ситуации?
0
 Аватар для furashcka
1 / 1 / 2
Регистрация: 03.07.2012
Сообщений: 32
17.07.2015, 20:16
Вы наверно не обновили код на хостинге, потому что вот что я увидел
http://www.forever-love.ru/js/zakaz_form.js

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$(document).ready(function(){
    $('.zakaz_form').submit(function(){
        $.ajax({
            type: "POST",
            url: "/ajax/make_zakaz",
            dataType: 'json',
            data: {
                name: $('.zakaz_form input[name="name"]').val(),
                email: $('.zakaz_form input[name="email"]').val(),
                phone: $('.zakaz_form input[name="phone"]').val(),
                man_ring: $('.zakaz_form select[name="man_ring"]').val(),
                woman_ring: $('.zakaz_form select[name="woman_ring"]').val()
            },
            success: function(response){ // response это то что возвращает /ajax/make_zakaz TODO РўР• РўРћ Р§РўРћ РўР« PRINT(RESPONSE)
                if (response.status) {
                    this.form.submit();
                    alert(response.result + ' Нажмите "РћРљ" РІС‹ будете перенаправлены РЅР° страницу заполнения данных');
                    //location="/order" ;
                } else {
                    // status == 0
                }
 
            },
            error: function(){
                alert(response.responseText);
            }
        });
    });
 
})

HTML5
1
<input type="button" value="заказать" class="knopka_zakaza" > <!-- Внимание обратите на type, type submit для отправки...-->
0
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
17.07.2015, 20:21  [ТС]
это я сейчас копаюсь с сайтом... Пытаюсь сделать как педложил F57, но ничего не получается. Форма с кнопкой button вообще не срабатывает..
0
F57
 Аватар для F57
68 / 68 / 23
Регистрация: 17.02.2015
Сообщений: 397
18.07.2015, 21:10
Ну так тебе надо повесить срабатывание ajax запроса при клике на кнопку. Когда ajax выдаёт success отправляешь форму.
1
1 / 1 / 1
Регистрация: 17.10.2014
Сообщений: 153
19.07.2015, 11:26  [ТС]
Проблема решена. Спасибо всем!)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.07.2015, 11:26
Помогаю со студенческими работами здесь

Передача json данных методом POST через AJAX
нужно передать данные на сервер методом post передача на сервер req.open(&quot;POST&quot;, &quot;/controller/ajax.php&quot;) ...

POST запрос с большим объёмом данных
Необходимо передать из одной HTML страницы большой массив данных на сервер. Количество данных заранее неизвестно. После обработки данных на...

Не видно данных в POST после отправки формы
Если неправильно выбрал раздел - перенесите пожалуйста. Сам не понимаю куда отнести потому что не знаю в какой области кроется ошибка. ...

Отправка данных JSON через POST-запрос на сервер https
Прошу помочь, может кто имел опыт отправки и получения данных посредством json через POST-запрос на сервер? Есть программный интерфейс...

Json post запрос
Здравствуйте. Помогите отправить post запрос помощью библиотеки Qt. На java отправлял так: public class Main { /**...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru