Помогите с ошибкой по JS

Тема в разделе "JavaScript", создана пользователем val06, 29 июн 2018.

Модераторы: ZiX
  1. val06

    val06 Постоялец

    Регистр.:
    11 авг 2006
    Сообщения:
    94
    Симпатии:
    5
    Добрый день. В twig файле есть js
    Код:
    <script type="text/javascript"><!--
              var submit_url = "&m=addsuppl&supplier_id=";
              $(document).ready(function() {
                showschemacategs();
                $('#form-settings').submit(function(e) {
                  e.preventDefault();
                  saveform();
                });
              });
            //--></script>
    при загрузке страницы выдает ошибку синтаксис еррор и т.д.
    в браузере в отладчике указывает на ошибку в файле .js
    в фале куда указывает прописано вот что
    Код:
    function saveform() {
      var dst = '';
      pricetype = $('select[name="price_type"]').val();
      if (pricetype == 1) dst = 'csv';
      if (pricetype == 2) dst = 'xml';
      if (pricetype == 3) dst = 'excel';
      $.ajax({
        url: '/admin/index.php?route='+module_path+'/savesupplier&token='+getURLVar('token')+submit_url,
        data: $('input[name="suppl_name"], #tab-settings input, #tab-settings select'),
        type: 'post',
        dataType: 'json',
        success: function(data) {
          if (!data.error) {
            $('#tab-settings').remove();
            save_chemacategs(data.supplier_id,dst,0);
          } else {
            console.log(data);
          }
        },
        error: function(jqXHR, textStatus, errorThrown){
          console.log(textStatus+' '+errorThrown);
        }
      });
    }
    ошибка указывается на строку
    console.log(textStatus+' '+errorThrown);

    в чем проблема ?
    в файле tpl все работало, переписал под twig и вот такая беда.
    в js практически 0, прошу помочь.
    п.с. если уж так лень помочь, могу оплатить консультацию, при условие что все заработает.
     
  2. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    Сама ошибка где?
     
  3. val06

    val06 Постоялец

    Регистр.:
    11 авг 2006
    Сообщения:
    94
    Симпатии:
    5
  4. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    У тебя проблема не в коде, а в JSON-е. Поэтому и ругается.
     
  5. val06

    val06 Постоялец

    Регистр.:
    11 авг 2006
    Сообщения:
    94
    Симпатии:
    5
    хорошо, и как исправить, где копать ?
     
  6. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    $('input[name="suppl_name"], #tab-settings input, #tab-settings select') - что в консоли возвращает? Должно возвращать JSON.

    А, хотя погоди. С jquery не работал практически, возможно ругается на ответ от сервера.
    Вообще надо доку по jq смотреть. :dead:
     
  7. val06

    val06 Постоялец

    Регистр.:
    11 авг 2006
    Сообщения:
    94
    Симпатии:
    5
    это на локалке, опенсервер, в версии где были tpl все работает, а вот в версии где twig такая хрень. не думаю что это от сервера зависит. может в twig надо как то по другому js писать ? хотя перелопатил кучу доков нечего такого не нашел. были несколько советов по js twig пробовал, не помогло (
     
  8. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    https://api.jquery.com/jQuery.ajax/
    dataType у тебя указывает на json.
    error вызывается если запрос с ошибкой.
    У тебя тип ошибки parseerror.
    Так что скорее всего у тебя сервер возвращает что-то отличное от JSON-а.
    Проверь curl-ом, что сервер в ответ возвращает.
    А как код на tpl выглядел?
     
  9. val06

    val06 Постоялец

    Регистр.:
    11 авг 2006
    Сообщения:
    94
    Симпатии:
    5
    Код:
     <script type="text/javascript"><!--
              var submit_url = "<?php echo '&m='.$method.(empty($supplier) ? '' : '&supplier_id='.$supplier['supplier_id']); ?>";
              $(document).ready(function() {
                showschemacategs();
                $('#form-settings').submit(function(e) {
                  e.preventDefault();
                  saveform();
                });
              });
            //--></script>
    я сначало в var submit_url прописал переменые под твиг, потом думал что в них проблема уже прописал конкретно ссылку, не помогло
     
  10. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    402
    Симпатии:
    755
    Код:
    var submit_url = "&m=addsuppl&supplier_id=";
    Код:
    var submit_url = "<?php echo '&m='.$method.(empty($supplier) ? '' : '&supplier_id='.$supplier['supplier_id']); ?>";
    У тебя supplier_id либо должен отсутствовать, либо содержать значение.
    В твоём случае он присутствует, но не содержит никаких значений.
    Т.е. либо "&m=addsuppl", либо так "&m=addsuppl&supplier_id=XXX"
    Собственно в браузере через вкладку Network можешь посмотреть, на какие url-ы уходят твои запросы.
    И соответственно уже дальше ковырять :glob: