Я продолжаю получать код ошибки 404 на POST от AJAX - PullRequest
0 голосов
/ 26 ноября 2018

Я сейчас работаю над сайтом WordPress для клиента, и мне нужно вручную создать почтовую программу для отправки информации о клиенте из формы.Мне нужно отправить эту форму с динамическими данными, добавленными клиентом, на электронную почту клиента.При этом при отправке формы я получаю сообщение об ошибке, которое выглядит следующим образом: введите описание изображения здесь

Моя структура HTML:

<form action="handler.php" method="post" role="form">

                <div class="group">
                  <input type="text" required id="inputName">
                  <span class="highlight"></span>
                  <span class="bar"></span>
                  <label for="inputName">Name</label>
                </div>

                <div class="group">
                  <input type="text" required id="inputEmail"> 
                  <span class="highlight"></span>
                  <span class="bar"></span>
                  <label for="inputEmail">Email</label>
                </div>

                <div class="group">
                  <input type="text" required id="inputNumber">
                  <span class="highlight"></span>
                  <span class="bar"></span>
                  <label for="inputNumber">Mobile No</label>
                </div>

                <div class="form-group">
                  <h6 for="exampleSelect1" class="occastion-title">Occasion</h6>
                  <select class="form-control" id="exampleSelect1">
                                <option>Wedding</option>
                                <option>Conference</option>
                                <option>Sales and Marketing</option>
                                <option>Other</option>

                            </select>
                </div>

                <div class="group">
                  <span class="highlight"></span>
                  <span class="bar"></span>
                  <label for="inputMessage">Message</label>
                  <textarea type="text" id="form8 inputMessage" class="md-textarea form-control" rows="4"></textarea>
                </div>

                <div class="group mb-2">
                  <div id="render-quote"></div>
                </div>
              </form>

Мой Javscript:

var url = "https://developer-website.org/";

function submitContactForm(){
    var reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
    var name = $('#inputName').val();
    var email = $('#inputEmail').val();
    var number = $('#inputNumber').val();
    var message = $('#inputMessage').val();
    if(name.trim() == '' ){
        alert('Please enter your name.');
        $('#inputName').focus();
        return false;
    }else if(email.trim() == '' ){
        alert('Please enter your email.');
        $('#inputEmail').focus();
        return false;
    }else if(email.trim() != '' && !reg.test(email)){
        alert('Please enter valid email.');
        $('#inputEmail'
          ).focus();
        return false;
    }else if(number.trim() != '' && !reg.test(email)){
        alert('Please enter valid number.');
        $('#inputNumber'
          ).focus();
        return false;
    }else{
        $.ajax({
            type:'POST',
            url: url+'form/handler.php',
            data:'contactFrmSubmit=1&name='+name+'&email='+email+'&message='+message,
            beforeSend: function () {
                $('.submitBtn').attr("disabled","disabled");
                $('.modal-body').css('opacity', '.5');
            },
            success:function(msg){
              console.log("yay");
                if(msg == 'ok'){
                    $('#inputName').val('');
                    $('#inputEmail').val('');
                    $('#inputMessage').val('');
                    $('.statusMsg').html('<span style="color:green;">Thanks for contacting us, we\'ll get back to you soon.</p>');
                }else{
                    $('.statusMsg').html('<span style="color:red;">Some problem occurred, please try again.</span>');
                }
                $('.submitBtn').removeAttr("disabled");
                $('.modal-body').css('opacity', '');
            }
        });
    }
}

и мой php-код:

    <?php
if(isset($_POST['contactFrmSubmit']) && !empty($_POST['name']) && !empty($_POST['email']) && (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) && !empty($_POST['message'])){

    // Submitted form data
    $name   = $_POST['name'];
    $email  = $_POST['email'];
    $message= $_POST['message'];

    /*
     * Send email to admin
     */
    $to     = 'phillipdanielscottsc@gmail.com';
    $subject= 'Contact Request Submitted';

    $htmlContent = '
    <h4>Contact request has submitted at CodexWorld, details are given below.</h4>
    <table cellspacing="0" style="width: 300px; height: 200px;">
        <tr>
            <th>Name:</th><td>'.$name.'</td>
        </tr>
        <tr style="background-color: #e0e0e0;">
            <th>Email:</th><td>'.$email.'</td>
        </tr>
        <tr>
            <th>Message:</th><td>'.$message.'</td>
        </tr>
    </table>';

    // Set content-type header for sending HTML email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    // Additional headers
    $headers .= 'From: CodexWorld<sender@example.com>' . "\r\n";

    // Send email
    if(mail($to,$subject,$htmlContent,$headers)){
        $status = 'ok';
    }else{
        $status = 'err';
    }

    // Output status
    echo $status;die;
}
...