После проверки 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:45. |