OpenCart 2.0.0. - SyntaxError: JSON.analyser: la fin inattendue de données à la ligne 1 colonne 1 de données JSON OK
Dans OpenCart v. 2.0.0 dans /admin lorsque je reçois une commande, je devrais être capable de changer le statut de la commande afin de permettre au client de savoir ce qui se passe avec son achat. Cette fonctionnalité est dans "l'Histoire" de l'onglet.
Malheureusement je ne peux pas le changer ou de modifier les commandes.
Lorsque je modifie le statut et essayer de la sauver Openart me donne une erreur:
SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data OK
Il arrive, même sur une installation propre. Tout est mis en place correctement le nom de domaine est OK, la boutique n'est pas en mode de maintenance, il n'y a pas de mot de passe dans .fichier htaccess (BTW, voire en supprimant ce qui n'aide pas).
Il ressemble à la capture d'écran ci-joint.
La seule solution est d'installer la dernière version de OpenCart qui est dans le moment, je suis en train d'écrire ce post 2.0.1.1. C'est probablement la meilleure idée.
Mon problème est que j'ai fait pas mal de modifications et qu'il serait très difficile pour moi. Faire mes modifications je n'ai pas utilisé vqmod qui probablement que je devrais utiliser (mais personne n'est parfait - n'est-ce pas?).
Ou peut-être vous ne voulez pas aller dans la mise à niveau pour une autre raison?
Maintenant, comment résoudre ce problème sans changer le logiciel lui-même?
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même message d'erreur et je l'ai corrigé
aller à l'Admin->Système->utilisateurs->Api
Ajouter une nouvelle api de générer un mot de passe, et de lui permettre de
Puis aller à l'Admin->système->paramètres->Edit>Option(onglet)
Sélectionnez utilisateur api en vertu de la Caisse section de votre utilisateur api
Puis enregistrer les modifications
Ensuite, allez à la Vente->commandes->modifier
Il fonctionne parfaitement 🙂
Je suppose que l'erreur vient quand un cURL méthode dans votre OC essaie d'obtenir les données de l'OC de l'API et qui est bloqué.
-- Test Rapide
Fonction Goto info() dans /admin/controller/sale/order.php
trouver la boucle d'initialisation à l'intérieur d'info() et objectif sur
$json = curl_exec($curl);
ajouter, après que:
if($json === false){
var_dump(curl_error($curl));
exit;
}
si il y a une erreur, vous devriez le voir quand vous allez à un ordre des informations à partir de votre panneau d'administration.
Vous pouvez avoir une connexion refusée msg sur le port 80 ou 443.
Si oui, les erreurs possibles et les solutions peuvent être:
Vous travaillez dans un répertoire protégé.
C'est un site web message (comme js alerte avec des champs) qui demande un user/pass.
Vous pouvez l'éteindre et essayez de nouveau pour ajouter un enregistrement de l'historique.
Dans parallels Plesk panel, vous pouvez le trouver comme "Protégé par Mot de passe de l'Annuaire" dans le domaine des options.
Si vous venez de modifier votre .htaccess, vous devriez vérifier pour auth états causant les symptômes ci-dessus.
PHP; Vérifiez si vous avez ajouté des $_SERVER['REMOTE_ADDR'] dans un bloc si pour rejeter les ips sur le but.
Lors de l'utilisation de parallels Plesk panel, ont accès à la racine (ssh), et vous avez le même domaine de site web comme parallels Plesk panel d'admin nom d'hôte,
(à supposer que votre domaine est http://www.yourdomain.com)
vous pouvez vérifier auprès de votre ssh, l'exécution de
curl -vv "http://www.yourdomain.com"
(ou https) à l'intérieur de votre propre serveur (localhost) votre domaine est hébergé.Si vous obtenez une connexion refusée sur le port 80 ou 443 pour https et avoir un succès retour msg sur
curl -vv "http://www.yourdomain.com:7080"
OUcurl -vv "http://www.yourdomain.com:7081"
(virtualhost ports), alors vous pouvez le fixer comme ci-dessous. Il est aussi étrange pour obtenir un succès de la connexion msg sur 80 & 443 lors de l'essayer à partir d'un autre serveur!Donc, vous devez modifier votre serveur héberge (/etc/hosts) et ajouter à droite de votre adresse ip publique de votre site web de domaine (dernière ligne habituellement).
Donc, ajouter au public-ligne ip
xxx.xxx.xxx.xxx www.yourdomain.com
. Vous pouvez avoir d'autres hôtes droit défini sur votre ip publique. S'il vous plaît, ne retirez pas tout. Ajouter http://www.yourdomain.com dans le dernier de la piblic-ligne ip. Vous pouvez vérifier à nouveau avec curl, ou l'ajout d'un historique des commandes.Je peut aider,
giannisepp
Après quelques temps, j'ai réussi à résoudre ce problème et je tiens à partager avec vous:
Dans le panneau d'administration de votre boutique, allez à:
Il devrait y avoir un utilisateur avec un nom comme
si il n'est pas en créer un et de lui donner raisonnablement compliqué nom comme dans l'exemple.
Ensuite, vous devez vérifier votre base de données (à l'aide de phpMyAdmin aide beaucoup) où maintient votre magasin de données.
Dans mon OpenCart 2.0.0 installation de la valeur a été fixée à 0 alors que le api_id était de 2.
J'ai eu le même problème et essayé toutes les solutions possibles et imaginables.
À la fin a donné et appelé mon fournisseur d'hébergement. Ils ont constaté que OpenCart l'habitude de s'exécuter correctement sur n'importe quel version de php ci-dessus 5.4.33. Ergo: utiliser php 5.4.33
Cela ne peut pas résoudre tous les problèmes, ou peut fonctionner en conjonction avec d'autres correctifs bove, mais itÄs vaut la peine d'essayer pour vérifier la version de php de votre hébergement est en cours d'exécution par défaut.
Si votre serveur ne prend pas en charge
HTTPS
, veuillez modifier le https en http.Ouvrir le
admin/config.php
fichier, modifiez le https en http.define('HTTPS_SERVER', 'http://'.$_SERVER['HTTP_HOST'].'/admin/');
define('HTTPS_CATALOG', 'http://'.$_SERVER['HTTP_HOST'].'/');
Désactiver le mode de maintenance a fait pour moi.
Dans admin/controller/sale/order.php ligne fichier ci-dessous 2438 vous devriez voir comme ceci:
Comme vous pouvez le voir, le ROULAGE est toujours à utiliser HTTPS_CATALOG défini constante qui contiennent votre boutique URL SSL. Pourquoi? Je n'ai pas maintenant.
La solution: modifiez votre config.php sur la boutique de dossier racine et changer HTTPS_CATALOG défini la valeur de la constante de non-ssl URL, il suffit de supprimer le "s" après la fin de https.