После проверки js выполнить php код
Помогите пожалуйста разобраться.
Есть функция которая отправляет форму и выводит финальное success сообщение о том, что данные отправлены, если что не так выводит сообщение о ошибке, мне нужно выполнить php код если форма успешно отправилась. Собственно сам фрагмент проверки нажатия на кнопку: $('#popup-checkout-button').on('click', function() { masked('#popup-purchase-wrapper', true); $.ajax({ type: 'post', url: 'index.php?route=module/popup_purchase/make_order', dataType: 'json', data: $('#purchase-form').serialize(), success: function(json) { if (json['error']) { if (json['error']['field']) { masked('#popup-purchase-wrapper', false); $('.text-danger').remove(); $.each(json['error']['field'], function(i, val) { $('[name="' + i + '"]').addClass('error_style').after('<div class="text-danger">' + val + '</div>'); }); } } else { if (json['output']) { masked('#popup-purchase-wrapper', false); $('#popup-checkout-button').remove(); $('#popup-purchase-wrapper .popup-center').html(json['output']); } } } }); }); Собственно вот здесь: $('#popup-purchase-wrapper .popup-center').html(json['output']); вызывается json['output'] который в контроллере просто прописан таким образом: $json['output'] = $this->language->get('text_success_order'); подгружает финальное сообщение. Мне нужно когда форма успешна, выполнить php код: $client_id = '1'; $client_total = '3'; $client_order_id = '2'; if (isset($_COOKIE["uid"]) && isset($_COOKIE["utm_source"]) && $_COOKIE["utm_source"] == "somecpa") { echo '<img src="https://somecpa.com/reg.php?id='.$_COOKIE["uid"].'-'.$client_id.'_'.$client_total.'&client_order_id='.$client_order_id.'" width="1" height="1" alt="" />'; } Подскажите, как правильно это сделать, чтобы если форма правильная, выполнялся выше указанный фрагмент php кода... |
Цитата:
Какие проблемы могут быть при этом, выполнять чего-то или нет? |
Дело в том, что при выводе финального success сообщения (вот здесь: $('#popup-purchase-wrapper .popup-center').html(json['output']);
), я должен сгенерировать и передать ссылку (данная процедура описана на php), может вы подскажите как это сделать? |
Цитата:
|
Цитата:
|
Цитата:
success - это результат запроса севера методом $.ajax, и он хрен отработает, пока сервер не вернет данные для него, вот тут success: function(json). Надо ли еще пояснять что сервер уже знает, что клиент отработал? Или вам от клиента еще и подтверждение нужно что посылка пришла? Ну так до бесконечности можно опрашивать. |
laimas, :blink:
Вообщем толку от ваших ответов нету никакого... Пожалуйста, перестаньте следить за данной темой. |
Да ити вашу мать. Не знает сервер нихрена о клиенте. Надо чтобы тютя в тютю - ставьте значит куки не сервером а клиентом.
Просто хочется после ..., но сервером, значит после выполнения операций в success: function(json) отправляйте ajax запрос извещающий сервер. Совсем уже охренели, серверу и так известно, что сделано, нет надо еще нагородить костылей, которых сами же и не понимают. |
laimas,
Вообщем, лол. Я просил помощи разобраться с этим, а не выделываться. |
Цитата:
|
Знаю, что хочет автор… Сам этим страдал
Нe так хорошо знаю серверную сторону.
Однако, считаю, что если представить серверную часть - как бюро информации, смешно думать, что на том конце оператор будет терпеливо ожидать готовности позвонившего клиента.:haha: P.S.: Клиент обязан ожидать готовности БД, а не наоборот…:nono: Лет 12 тому назад, когда учился php практикуясь написанием скрипта гостевой книги с нуля (без готовых примеров и шаблонов, только php-мануал по функциям), многое стал понимать. Прежде всего, что каждый запрос - не хило грузит всю систему и память пожирает. Пусть и кратковременно в сессии. Тогда-то я и спустился с небес: Скрипт сервера и скрипт клиента - не могут под хоровое "Горько!" иметь затяжную интимную связь!:nono: |
jess23, laimas прав, вы аяксом обращаетесь к index.php?route=module/popup_purchase/make_order
и в этом файле уже знаете результат, так что вам мешает выполнить ваш кусок кода? |
Часовой пояс GMT +3, время: 23:13. |