Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Модуль sobfeedback - вопрос по парсу


Рекомендованные сообщения

Всем привет! 

Использую модуль sobfeedback,  при отправки формы пытаюсь спарсить данные из нее, и переслать их уже далее в нужные файл php для передачи в crm. Но почему-то данные  не парсятся... абсолютно не пойму почему, тестировал разными способами - все тщетно.

Парсю обычным аяксом, а сам код вставляю в шаблоны которые создаются в  public_html/catalog/view/theme/default/template/extension/module/feedback

По сути просто дополняю скрипт в шаблоне своим аяском. В итоге он выглядит вот так 

<script type="text/javascript">
      $('#form-sobfeedback<?php echo $module_id; ?>').on('submit', function(e) {
        e.preventDefault(e); 
        var that = $(e.target);           
        $.ajax({                 
          url: 'index.php?route=extension/module/sobfeedback/send',
          type: 'post', 
          data: $(this).serialize(), 
          dataType:'json', 
          success: function(data) {
            if (data['error']) {
              $('#form-sobfeedback<?php echo $module_id; ?> .text-danger').remove();
              if (data['error']) {
                var error = $('<span class="text-danger">'+ data['error'] +'</span>');
                $('#form-sobfeedback<?php echo $module_id; ?> .modal-body').prepend(error);
              }
              return;
            }
            $('#form-sobfeedback<?php echo $module_id; ?> .text-danger').remove();
            //alertForm({form: that, msg: data['success']});
            $('#success .modal__success-title').text(data['success']);
            $('#success').fancybox().trigger('click'); 
            that.find('input[type=\'text\']').val('');
            that.find('input[type=\'email\']').val('');
            that.find('textarea').val('');
          }, 
        });
        
        
        //МОЙ ПАРС - НАЧАЛО
                        var formData = JSON.stringify($(this).serialize());
            $.ajax({
                //'contentType': 'application/json', // по умочанию application/x-www-form-urlencoded
                //'processData': 'application/json', // по умочанию application/x-www-form-urlencoded
                //'async': false,
                'method': 'POST',
                'dataType': 'json',
                'url': 'amocrm/examples/elean_unsorted_zapis_primerka_mobile_id44.php',
                'data': formData,
                'success': function(data) {
                    console.log('lead added'); 
                    console.log(data.message); //alert(data.message);
                },
                'error': function(xhr, status, error) {
                    var errorData = 'Ошибочка вышла: '
                        + '\n[' + xhr.status + ' ' + status   + ']' +  ' ' + error
                        + ' \n '+ xhr.responseText + xhr.responseJSON;
                    console.log(errorData);
                }
            });
			//МОЙ ПАРС - КОНЕЦ      
          
      });
      function alertForm(alert) {
        var div = $('<div class="text-left alert alert-success" style="display: none;">' + alert.msg + '</div>');        
        alert.form.prepend(div);
        div.slideDown(400).delay(3000).slideUp(400, function() {
          //alert.form.closest('.modal').modal('hide');
          div.remove();    
        });
      }
</script>

 

При этом при проверке отправки - формы приходят в crm, но данные из ее полей не передаются.  Начал проверять - понял что данные из формы просто не парсятся... прилетают null-ы

При этом если в этот же шаблон вставляю свою бланковую форму и только свой аяксовский скрипт - все отрабатывает отлично.

 

В общем если у кого-то есть светлые мысли на этот счет - буду премного благодарен! 

 

Кстати, странный момент заметил:

в свою форму (на которой проверял) вставил сразу после открывающего <form>

       <input type="hidden" id="utmterm_field" name="UTM_TERM" value="blablablasss">

который вообще никак не задействован по идее... 

Так вот, когда эта строка присутствует моей форме (на которой проверял) - данные парсятся. 

как только ее убираю - даже из моей формы не парсятся... большего бреда в жизни не встречал...

Изменено пользователем 5_minutes_Turkish
Ссылка на комментарий
Поделиться на других сайтах


 

On 7/24/2022 at 10:49 AM, spectre said:

image.png.65ea21ff282a4e4ebe72287058ddf8d3.png

 

не в этом дело. Нэймы инпутов данного плагина формируются из плэйсхолдеров с кучей [ ] / и тд как оказалось.. Логику дальше в вашем же стиле "сами додумайте"

Изменено пользователем 5_minutes_Turkish
Ссылка на комментарий
Поделиться на других сайтах


В 24.07.2022 в 19:46, 5_minutes_Turkish сказал:

 

 

не в этом дело. Нэймы инпутов данного плагина формируются из плэйсхолдеров с кучей [ ] / и тд как оказалось.. Логику дальше в вашем же стиле "сами додумайте"

 

а зачем это мне?) 

 

в вашем скрипте форма очищается до отправки 

 

я вам хотел помочь а вы огрызаетесь и хвалитесь какой молодец сам сломал сам починил) 

 

а вообще все решает print r post в контроллере 

Ссылка на комментарий
Поделиться на других сайтах

On 7/24/2022 at 10:34 PM, spectre said:

а зачем это мне?) 

 

в вашем скрипте форма очищается до отправки 

 

я вам хотел помочь а вы огрызаетесь и хвалитесь какой молодец сам сломал сам починил) 

как вам угодно)  но если что вам просто показалось 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах


24.07.2022 в 22:31, 5_minutes_Turkish сказал:

как вам угодно)  но если что вам просто показалось 

 

всяко бывает ;)

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.