Задать вопрос
@simon91

Как отправить данные с формы на сайте на сторонний PHP скрипт?

На сайте лежит обработчик отправки данных с формы в WP
document.addEventListener( 'wpcf7mailsent', function( event ) {
    yaCounter35312415.reachGoal('SendOrder');
    // alert('SendEMail');
}, false );

Мне на тот же mailsent надо прицепить отправку данных на сторонний PHP скрипт (который лежит у меня на отдельном сервере)

Как мне передать данные ему? Из того что прочел, как понял AJAX не позволяет работать в кроссдоменном режиме и может стучаться только к скриптам в рамках текущего сервера.
  • Вопрос задан
  • 125 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Если у тебя есть возможность настроить тот удаленный сервер, то сконфигурируй его соответствующим образом. Тогда проблемы с кроссдоменкой не будет. Просто почитай про CORS.

Также лови небольшой хак: бэкенду вообще до балды на все эти ограничения. Если не хочешь париться, отдай на своем домене обработку в php, а уже из него бросай на удаленный. Хак грязноват, как для такого простого случая, но все же имеет место жить.

ЗЫ: нормальыне четки пацаны в принципе не обмениваются данными напрямую в JS (речь не о почте, а вообще), чтобы не светить связями. Так как все, что есть во фронте, видно всем. А четкие и к тому же умные, данные хранят в долгой памяти, а не по запросу (если есть возможность).
Ответ написан
@Bodrosh
Можно воспользоваться хуками, для этого в CF7 есть напр., wpcf7_mail_sent:
// отправляем данные из cf7 куда-то
add_action( 'wpcf7_mail_sent', 'br_wpcf7_mail_sent', 10, 1 );

function br_wpcf7_mail_sent( $contact_form ) {

        $submission = WPCF7_Submission::get_instance();
        $posted_data = $submission->get_posted_data();
         // Данные из формы можно получить так:
         $posted_data['your-phone'] 
         $posted_data['your-name']
         // и передать их в ваш скрипт
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы