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

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

06.07.2015, 19:58. Показов 2914. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru