Помогите пожалуйста разобраться с ошибкой.

Тема в разделе "JavaScript", создана пользователем kot5111986, 20 фев 2016.

Метки:
  1. kot5111986

    kot5111986

    Регистрация:
    22 окт 2014
    Сообщения:
    0
    Симпатии:
    0
    Есть сайт, недавно добавил на него landing page по ссылке http://greece-transfers.ru/svadba-v-grecii , при нажатии на кнопку ОСТАВЬТЕ ЗАЯВКУ выходит поле для отправки телефона, но при отправке , письмо отправляется, но на сайте нет никакой реакции, хоте должно выходить сообщение об удачной отправке, в консоле пишет ошибку
    Uncaught SyntaxError: Unexpected token <
    b.extend.parseJSON @ jquery1.9.1.js:3(anonymous function)
    @ main.js:83c @ jquery1.9.1.js:3
    p.fireWith @ jquery1.9.1.js:3
    k @ jquery1.9.1.js:5
    r @ jquery1.9.1.js:5
    где ошибка, что это значит?
    Если не сложно помогите пожалуйста.
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    проблема у вас в том, что php возвращает вам не json а html. А JS хочет распарсить json:
    Код:
    $.post(
                $( form ).attr("action"),
                $( form ).serialize(),
                function( data ){
                    jQuery( "input.error, textarea.error" ).removeClass( "error" );
    
                    var json = $.parseJSON( data )
                    var key = false;
    
                    for ( key in json )
                        jQuery( form ).find( "input[name=" + key + "], textarea[name=" + key + "]" ).addClass( "error" );
    
                    if ( !key )
                    {
                        var Top_modal_window = ( jQuery( document ).scrollTop() + 0.2*$(window).height() );   
                        jQuery(".callBackBox_PopUp, .orderBox_PopUp").hide();
                        jQuery("input.error, textarea.error").removeClass("error");
                        jQuery(".wrOverlay").fadeIn();
                        jQuery(".okSendBox").fadeIn().css("top",Top_modal_window+"px");
                        setTimeout(function(){
                            jQuery(".okSendBox").hide();
                            jQuery(".wrOverlay").click();
                        }, 2500);
                        //yaCounter21803593.reachGoal($(form).attr("goal"));
                    }
                   
                    jQuery( form ).find( "input[type=submit]" ).removeAttr( "disabled" );
                }
    в этом коде, 6 строка ожидает что в data будет json.

    Решение:
    1. возвращать json
    2. вставлять html
     
  3. kot5111986

    kot5111986

    Регистрация:
    22 окт 2014
    Сообщения:
    0
    Симпатии:
    0
    Спасибо большое за ответ, но не могли бы вы мне объяснить как это делается, я в этом просто дуб дубом)
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Если вы в этом дуб, то мне нечего вам объяснять) вы всёравно не поймёте.

    а без кода всего лэндинга я вам ничем не помогу.