@proclub

Как через ajax передавать UTM метки?

Вопрос в следующем , как передавать utm метки через ajax ?

Когда у нас есть только форма и php файл , то мы используем следующую запись
<input type="hidden" name="utm_source" value="<?php $utm_source = $_GET['utm_source']; echo $utm_source; ?>">

$utm_source = $_POST['utm_source'];

Отправили приняли , а как сделать тоже саоме когда есть ajax?

Код ajax скрипта ниже
$("#contactForm").validator().on("submit", function (event) {
    if (event.isDefaultPrevented()) {
        // handle the invalid form...
        formError();
        submitMSG(false, "Вы уверены, что заполнили все поля?");
    } else {
        // everything looks good!
        event.preventDefault();
        submitForm();
    }
});


function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#name").val();
    var phone = $("#phone").val();
    var message = $("#message").val();
    var utm_source =$("#utm_source").val();

    $.ajax({
        type: "POST",
        url: "php/form-process.php",
        data: "name=" + name + "&phone=" + phone + "&message=" + message,
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else {
                formError();
                submitMSG(false,text);
            }
        }
    });
}

function formSuccess(){
    $("#contactForm")[0].reset();
    submitMSG(true, "Письмо отправлено!")
}

function formError(){
    $("#contactForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){
        $(this).removeClass();
    });
}

function submitMSG(valid, msg){
    if(valid){
        var msgClasses = "h3 text-center tada animated text-success";
    } else {
        var msgClasses = "h3 text-center text-danger";
    }
    $("#msgSubmit").removeClass().addClass(msgClasses).text(msg);
}


А вот php для этого скрипта :
<?php

$errorMSG = "";

// NAME
if (empty($_POST["name"])) {
    $errorMSG = "Name is required ";
} else {
    $name = $_POST["name"];
}

// EMAIL
if (empty($_POST["phone"])) {
    $errorMSG .= "Email is required ";
} else {
    $phone = $_POST["phone"];
}



$headers = "From: SERVICE-GROUP-M <www.gruppa-m.ru>";
$EmailTo = "mail@mail.com";
$Subject = "SERVICE-GROUP-M";

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $name;
$Body .= "\n";
$Body .= "phone: ";
$Body .= $phone;
$Body .= "\n";
$Body .= "utm_source: ";
$Body .= $utm_source;
$Body .= "\n";

if ($errorMSG == ""){
    // send email
    $success = mail($EmailTo, $Subject, $Body);
    echo "success";
}else{
    if($errorMSG == ""){
        echo "Something went wrong :(";
    } else {
        echo $errorMSG;
    }
}

?>
  • Вопрос задан
  • 598 просмотров
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
Вы хотите на backend передать ajax'ом utm метку?

function submitForm(){
    // Initiate Variables With Form Content
    var name = $("#name").val();
    var phone = $("#phone").val();
    var message = $("#message").val();
    var utm_source =$("#utm_source").val();

    $.ajax({
        type: "POST",
        url: "php/form-process.php",
        data: {
                     name: name,
                     phone: phone,
                     message: message,
                     utm_source: utm_source
                 },
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else {
                formError();
                submitMSG(false,text);
            }
        }
    });
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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