2015-01-20 2 views
7

Я посмотрел по всему Интернету и не нашел ответа.opencart 2.0 СинтаксисError: JSON.parse: неожиданный конец данных в строке 1 столбец 1 данных JSON OK

В основном моя проблема - когда я пытаюсь редактировать заказы и меняю магазины, я получаю SyntaxError: JSON.parse: неожиданный конец данных в строке 1 столбца 1 данных JSON OK в firefox и в chrome я получаю SyntaxError: Неожиданный конец ввода OK.

Кто-нибудь нашел «настоящее» решение для этого, потому что я пробовал все, что было предложено, но они не работают. Изменяя api_id на создание вторичного API. И даже метод .htaccess.

ответ

1

Я предполагаю, что вы работаете с OpenCart 2.x version.Please следовать ниже шаг

1) проверить oc_api (ОЦ является OpenCart префикс базы данных) .there должна быть одна запись

если не запустите ниже запрос

INSERT INTO oc_api (api_id, username, firstname, lastname, password, status, date_added, date_modified) ЗНАЧЕНИЯ (1, '2uVCDrqPBaq52KKCModEFFc7ILdMbKWulvbEsLkJVJHbm334HGQC5BDxoWlnXUwi', '', '', 'so49tj04Cv6yteAoZaZ3IzAfhYG7qWkOLavvIyejHPHEO7eQEn7mtgUFxT9JXQvwCD9b46gFjlrMGSWvHs1NrECiaHPOaCTNRjk8E64eY0nNVflHgpJrCgH3bw1K1rOf28iXkyquk76F8lNWUexCuzjGzU29pOhq1O3peiy4K6n07jMeeL0QzAZLkuPq0nMuNXmzvLV5GxreUZidCvPXSEmItDAPZ4Pp6Ys2aqOzbgJ9EISV6NCVIAM8ONIrVEqd', 1, '2015-01-27 16:38:49', '2015-01-27 16:38:49');

2) поиска config_api_id поле в таблице oc_setting и ввести его значение 1 или запустить ниже запроса

UPDATE oc_setting SET value = '1', ГДЕ oc_setting. setting_id = 437;

Теперь проверьте администратор и отредактируйте заказ. ваша проблема будет решена.

Благодаря

+0

ваши шаги не сработали, и я пробовал это раньше, но спасибо. Я думаю, что это как-то связано с изменением магазинов, которые дают ошибку. Я просто не знаю, как исправить эту проблему с изменением магазина, но спасибо. – user2242141

1

Ive было много вопросов, переходящих от OpenCart 1.5.1 до 2.0.1

Точно такие же симптомы, как ваш покорный

SyntaxError: JSON.parse: неожиданный конец данных в строка 1 колонок 1 из данных в формате JSON

Так что я создал свежую базу данных и свежая не устанавливает OpenCart 2.0.1

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

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

это сообщение, кажется, просто, кажется, приходят беспорядочно, когда OpenCart чувствует, что

Неужели я должен был только что остался со старой версией я спас бы 3 дня отвода о фиксации «проблемы» в версии Thats, очевидно, не готовый к производству.

2

У меня случилась такая же проблема с порядком обновления.

Если вы пробовали все возможные решения, найденные в Интернете, но никто не работал, возможно, ошибка была у вашего поставщика услуг.

В моем случае проблема возникает из функции $ curl, которая часто используется на opencart 2.0.

Вы можете скопировать этот PHP файл в админ/контроллер/продажа /, а затем введите свой адрес: http://YOURDOMAIN.com/admin/controller/sale/test.php

<?PHP 
      echo "a<br/>"; 
      $curl = curl_init(); 
     //http://YOURDOMAIN.com testing" 

      $aa='Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 OPR/28.0.1750.48'; 
      curl_setopt($curl, CURLOPT_HEADER, false); 
      curl_setopt($curl, CURLINFO_HEADER_OUT, true); 
      curl_setopt($curl, CURLOPT_USERAGENT, $aa); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
      curl_setopt($curl, CURLOPT_FORBID_REUSE, false); 
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($curl, CURLOPT_URL, 'http://YOURDOMAIN.com/index.php?route=api/login'); 

      curl_setopt($curl, CURLOPT_POST, true); 


      $json = curl_exec($curl); 
      echo "server link to http://YOURDOMAIN.com/index.php?route=api/login <br/>"; 
      echo "Error Message:<br/>"; 
      print_r(curl_error($curl)); 
      echo "<br/>"; 
      echo "Response:"; 
      echo "<br/>"; 
      print_r($json); 
      echo "<br/>"; 
      echo "<br/>"; 
      echo "<br/>"; 
      echo "<br/>"; 
      curl_close($curl); 
      $curl = curl_init(); 
     //http://google.com" 

      $aa='Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 OPR/28.0.1750.48'; 
      curl_setopt($curl, CURLOPT_HEADER, false); 
      curl_setopt($curl, CURLINFO_HEADER_OUT, true); 
      curl_setopt($curl, CURLOPT_USERAGENT, $aa); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
      curl_setopt($curl, CURLOPT_FORBID_REUSE, false); 
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($curl, CURLOPT_URL, 'http://google.com'); 

      curl_setopt($curl, CURLOPT_POST, true); 


      $json = curl_exec($curl); 
      echo "server lint to http://google.com <br/>"; 
      echo "Error Message:<br/>"; 
      print_r(curl_error($curl)); 
      echo "<br/>"; 
      echo "Response:"; 
      echo "<br/>"; 
      print_r($json); 
      curl_close($curl); 
     ?> 

Если ваше сообщение браузер не показывать этот

a server link to http://YOURDOMAIN.com/index.php?route=api/login Error Message:

Response: {"error":"\u8b66\u544a\uff1a\u4e0d\u5339\u914d\u7684\u7528\u6236\u540d\u6216\u5bc6\u78bc\u3002"}

Тогда вам может попросить поставщика вашего сервера помочь вам настроить сервер, потому что это означает, что ваш $ curl не может ссылаться на ваш локальный хост и не может получать данные с вашего локального хоста.

Надеюсь, это поможет вам!

1

я вопрос, простое решение, которое работает, попробуйте следующее:

Открыть Администратор/config.php

define('HTTPS_SERVER', 'http://yourdomain.com/admin/'); 
define('HTTPS_CATALOG', 'http://yourdomain.com/'); 

Изменение к следующему:

define('HTTPS_SERVER', 'https://yourdomain.com/admin/'); 
define('HTTPS_CATALOG', 'https://yourdomain.com/'); 
+0

Я пробовал этот метод, но я все еще не мог обновить хранилище на странице заказов по-прежнему той же ошибки ... спасибо за предложение ... – user2242141

2

Я был в состоянии решить эту проблему за 3 шага. В моем случае я обновил базу данных opencart с 1.5x до 2.x со стандартным (из окна обновления Opencart). У меня также была многоуровневая конфигурация. Я был в состоянии Редактировать заказы, как только я выполнить следующие шаги:

  1. Установите ОС2 (из коробки, не конфигураций) с тем же админа верительным как той, которая используется в устаревшем базе данных. Экспортируйте свою базу данных и найдите место в файле дампа (sql), где у вас есть значения INSERT INTO api (... строка. Это первая команда, которую вам нужно запустить в вашей старой базе данных.

  2. Значение уставок установки UPDATE = 1, где key = «config_api_id»;

  3. UPDATE ЗапНастр ssl = URL;. Однако, это может не сработать, если вы работаете на локальном хосте Так что для тестирования, я должен был изменить его UPDATE ЗапНастр ssl = ' http://localhost/ '; Не забывайте последнюю обратную косую черту.

Обратите внимание, что вы также можете выполнить эту операцию в пользовательском интерфейсе администратора.

+0

наш OC на самом деле 2.0.1.1, и я пробовал ваш метод в прошлом и не помогло это провалилось спасибо anyways хотя ... – user2242141

1

Попробуйте отключить режим технического обслуживания. Это сработало для меня!

+0

Я пробовал делать, что все еще получаю сообщение об ошибке, хотя ... – user2242141

3

Я получил ту же ошибку и нашел прочь исправить:

  1. Входа в бэкэнде как администратор и перейти к системе> Пользователям> Апи
  2. Создать новый API с сгенерированным паролем и убедитесь, что он включен
  3. Перейти к настройкам магазина (система> настройки> Изменить) и откройте Опция Вкладка
  4. прокрутки вниз, пока не найдете «проверку»
  5. Где он говорит «API пользователя» выберите API пользователя, который вы только что создали
  6. Сохранить изменения и все готово!

Теперь вы сможете редактировать статус заказа!