2015-01-20 10 views
7

Rozglądałem się po Internecie i nie znalazłem odpowiedzi.opencart 2.0 SyntaxError: JSON.parse: nieoczekiwany koniec danych w wierszu 1 kolumny 1 danych JSON OK

Zasadniczo mój problem polega na tym, że za każdym razem, gdy próbuję edytować zamówienia i zmieniać sklepy, pojawia się błąd SyntaxError: JSON.parse: nieoczekiwany koniec danych w wierszu 1 kolumny 1 danych JSON OK w firefoxie iw chrome dostaję SyntaxError: Niespodziewany koniec wejścia OK.

Czy ktoś znalazł "prawdziwe" rozwiązanie tego problemu, ponieważ próbowałem wszystkiego, co sugerowano, ale nie działają. Od zmiany api_id do utworzenia dodatkowego interfejsu API. I nawet metoda .htaccess.

Odpowiedz

1

Zakładam, że pracujesz z OpenCart 2.x version.please wykonaj poniższe kroku

1) sprawdzić oc_api (OC jest OpenCart prefix bazy danych) .there powinien być jeden rekord

jeśli nie Proszę uruchomić poniżej zapytania

wstawić do oc_api (api_id, username, firstname, lastname, password, status, date_added, date_modified) WARTOŚĆ (1 '2uVCDrqPBaq52KKCModEFFc7ILdMbKWulvbEsLkJVJHbm334HGQC5BDxoWlnXUwi' '' '', 'so49tj04Cv6yteAoZaZ3IzAfhYG7qWkOLavvIyejHPHEO7eQEn7mtgUFxT9JXQvwCD9b46gFjlrMGSWvHs1NrECiaHPOaCTNRjk8E64eY0nNVflHgpJrCgH3bw1K1rOf28iXkyquk76F8lNWUexCuzjGzU29pOhq1O3peiy4K6n07jMeeL0QzAZLkuPq0nMuNXmzvLV5GxreUZidCvPXSEmItDAPZ4Pp6Ys2aqOzbgJ9EISV6NCVIAM8ONIrVEqd', 1 '27.01.2015 16:38:49', '27.01.2015 16:38:49');

2) wyszukiwania config_api_id pola w tabeli oc_setting wprowadzić wartość 1 albo na poziomie niższym zapytania

SET UPDATE oc_setting value = '1' GDZIE oc_setting. setting_id = 437;

Teraz sprawdź admin i edytuj kolejność. twój problem rozwiąże.

Dzięki

+0

twoje kroki nie działały i próbowałem wcześniej, ale dziękuję. Myślę, że ma to coś wspólnego ze zmianą sklepów, które dają błąd. Po prostu nie wiem, jak rozwiązać ten problem związany ze zmianą sklepu, ale dzięki. – user2242141

1

Ive miał wiele problemów aktualizujących z OpenCart 1.5.1 do 2.0.1

dokładnie takie same objawy jak twoje

SyntaxError: JSON.parse: nieoczekiwany koniec danych na linia 1 kolumna 1 danych JSON

Więc stworzyłem nową bazę danych i nową instalację OpenCart 2.0.1

Początkowo nie miał problemy z nowymi zamówieniami, ale jako że więcej zamówień zostało dodanych, a historia ulepszona, mam ten sam błąd z przerwami.

Jedynym sposobem obejścia tego problemu było wyczyszczenie plików cookie, zamknięcie przeglądarki, ponowne uruchomienie używanego laptopa, skorzystanie z alternatywnej przeglądarki. lub zaloguj się do innego komputera, aby zmienić status historii.

ta wiadomość wydaje się po prostu wydają się pochodzić losowo kiedy OpenCart czuje się jak to

Naprawdę powinien właśnie tam z starej wersji i byłby zapisany 3 dni mucking ustalające „problemy” w ów wersja oczywiście nie gotowe do produkcji.

2

Tak się złożyło, że mam ten sam problem z aktualizacją.

Jeśli próbowałeś wszystkich możliwych rozwiązań znalezionych w Internecie, ale nikt nie działał, być może błąd pochodzi od dostawcy serwera

W moim przypadku problem pochodzi z funkcji zwinięcia, która często używana jest na opencart 2.0.

Możesz wkleić ten plik php w swoim admin/sterownika/sprzedaży /, a następnie wpisz adres URL: 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); 
     ?> 

Jeśli wiadomość Twoja przeglądarka nie pokazuj tego

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"}

wtedy może poprosić twojego dostawcę serwera o pomoc w ustawieniu serwera, ponieważ oznacza to, że twój curl nie może połączyć się z lokalnym hostem i nie może pobrać danych z twojego hosta lokalnego.

Mam nadzieję, że to ci pomoże!

1

miałem problem, proste rozwiązanie, które działa, spróbuj tego:

Otwarte Admin/config.php

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

zmieni się na następujący:

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

Próbowałem tej metody, ale nadal nie mogłem zaktualizować sklepu na stronie zamówień wciąż ten sam błąd ... dzięki za sugestię ... – user2242141

2

Mogłem rozwiązać ten problem w 3 krokach. W moim przypadku zaktualizowałem swoją bazę danych opencart z 1,5x do wersji 2.x za pomocą standardowego (od razu po aktualizacji OpenCart). Miałem także konfigurację multistore. Udało mi Edycja zamówień raz wykonać następujące czynności:

  1. Install OC2 (po wyjęciu z pudełka, bez konfiguracji) z tego samego poświadczenia administratora, jak stosowany w bazie danych starszego typu. Wyeksportuj bazę danych i znajdź miejsce w pliku zrzutu (sql), w którym masz wartości INSERT INTO api (linia ... To jest pierwsze polecenie, które musisz uruchomić w swojej starszej bazie danych:

  2. Ustawiona wartość ustawienia UPDATE = 1 gdzie key = 'config_api_id';

  3. sklep UPDATE ustawić ssl = url;. to jednak może nie działać, jeśli pracujesz na localhost więc do testowania, musiałem go zmienić na UPDATE sklep ustawić ssl = ' http://localhost/ '; Nie zapomnij o ostatnim ukośniku odwrotnym:

Należy zauważyć, że można również wykonać te operacje w interfejsie administratora.

+0

nasz OC jest w rzeczywistości 2.0.1.1 i próbowałem twojej metody w przeszłości i Bez powodzenia nie udało się tak czy inaczej chociaż ... – user2242141

1

Spróbuj wyłączyć tryb konserwacji. To dla mnie zadziałało!

+0

Próbowałem to nadal otrzymuję błąd dzięki ... – user2242141

3

Mam ten sam błąd i znaleźć z dala, aby je naprawić:

  1. Logowanie w backend jako administrator i przejdź do System> Użytkownicy> Api
  2. Tworzenie nowego API z wygenerowanym hasłem i upewnić się, że włączona
  3. przejdź do przechowywania ustawień (system > ustawienia> Edytuj) i otwórz Opcja zakładka
  4. Przewiń w dół, aż znajdziesz „kasę
  5. gdzie jest napisane „API użytkownika” wybierz API Użytkownika po prostu stworzony
  6. zapisać zmiany i gotowe!

Będziesz mógł teraz edytować status zamówienia!

Powiązane problemy