Форма обратной связи с jquery ajax php - PullRequest
0 голосов
/ 10 июня 2018

У меня есть контактная форма с jquery и методом представления ajax.Код отлично работает для меня на одном из моих сайтов.Тот же код, который раньше работал нормально, начал вызывать проблемы на другом сайте.

в chrome он гласит: «Произошла ошибка синтаксиса: неожиданный токен <в JSON при ошибке позиции 0 из-за ошибки синтаксического анализа». </p>

в firefox: «ПроизошлоSyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 1 ошибки данных JSON из-за условия разбора. "

Пожалуйста, дайте мне знать, почему это может происходить.

вот мой код js

$(document).ready(function() {

$('.contact-page #response').hide();

$('#submit').click(function(e) {

    // prevent forms default action until
    // error check has been performed
    e.preventDefault();

    // grab form field values
    var valid = '';
    var required = ' is required.';
    var name = $('#name').val();
    var email = $('#email').val();
    var message = $('#message').val();
var phone = $('#phone').val();
    var honeypot = $('#honeypot').val();
    var humancheck = $('#humancheck').val();

    // perform error checking
    if (name = '' || name.length <= 2) {
        valid = '<p>Your name' + required +'</p>';
    }

    if (!email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
        valid += '<p>Your email' + required +'</p>';
    }

     if (phone = '' || phone.length <= 8){
        valid += '<p>A working phone number' + required +'</p>';
    }

    if (message = '' || message.length <= 5) {
        valid += '<p>A message' + required + '</p>';
    }

    if (honeypot != 'http://') {
        valid += '<p>Spambots are not allowed.</p>';
    }

    if (humancheck != '') {
        valid += '<p>A human user' + required + '</p>';
    }

    // let the user know if there are errors with the form
    if (valid != '') {

        $('.contact-page #response').removeClass().addClass('error').html('<p style="color:black"><strong>Please correct the errors.</strong></p>' +valid).fadeIn('fast');
    }
    // let the user know something is happening behind the scenes
    // serialize the form data and send to our ajax function
    else {

        $('.contact-page #response').removeClass().addClass('processing').html('<p style="color:white; font-weight:bold;">Processing your submission...</p>').fadeIn('fast');

        var formData = $('form').serialize();
        submitForm(formData);
    }

});
});

// сделать наш ajax запрос к серверу

function submitForm(formData) {
$.ajax({
    type: 'POST',
    url: 'contactform.php',
    data: formData,
    dataType: 'json',
    cache: false,
    timeout: 7000,
    success: function(data) {

        $('.contact-page #response').removeClass().addClass((data.error === true) ? 'error' : 'success')
                    .html(data.msg).fadeIn('fast');

        if ($('.contact-page #response').hasClass('success')) {

            setTimeout("$('.contact-page #response').fadeOut('fast')", 5000);
        }

    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {

        $('.contact-page #response').removeClass().addClass('error')
                    .html('<p>There was an<strong> ' + errorThrown +
                          '</strong> error due to a<strong> ' + textStatus +
                          '</strong> condition.</p>').fadeIn('fast');
    },
    complete: function(XMLHttpRequest, status) {

        $('form')[0].reset();
    }
  });
};
...