opencart 2.0 SyntaxError:JSON.parse:JSON数据的第1行第1列的意外数据结束OK

时间:2015-01-20 18:55:23

标签: json google-chrome firefox opencart opencart2.x

我在互联网上看了一眼,没有找到答案。

基本上我的问题是每当我尝试编辑订单和更改商店时我都会收到SyntaxError:JSON.parse:JSON数据的第1行第1列的数据意外结束在firefox和chrome中的OK我得到了SyntaxError:意外结束输入OK。

有没有人为此找到了“真正的”解决方案,因为我尝试了所有建议,但它们不起作用。从更改api_id到制作辅助API。甚至是.htaccess方法。

7 个答案:

答案 0 :(得分:3)

我收到了同样的错误并找到了解决方法:

  1. 以管理员身份登录后端,然后转到系统>用户> API
  2. 使用生成的密码创建新的api ,并确保它是 的启用
  3. 转到商店设置(系统>设置>编辑)并打开 选项标签
  4. 向下滚动,直至找到“结帐
  5. 在其中显示“ API用户”选择您刚刚创建的API用户
  6. 保存更改并完成!
  7. 您现在可以编辑订单状态了!

答案 1 :(得分:2)

我碰巧有相同的更新订单问题。

如果你尝试了互联网上找到的所有可能的解决方案,但没有人工作,那么这个错误可能来自你的服务器提供商。

在我的情况下,问题来自$ curl函数,它经常在opencart 2.0上使用。

您可以将此php文件粘贴到admin / controller / sale /中,然后输入您的网址: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);
       ?>

如果您的浏览器消息未显示此

  

指向http://YOURDOMAIN.com/index.php?route=api/login错误的服务器链接   消息:

     

响应:   { “错误”: “\ u8b66 \ u544a \ uff1a \ u4e0d \ u5339 \ u914d \ u7684 \ u7528 \ u6236 \ u540d \ u6216 \ u5bc6 \ u78bc \ u3002”}

然后您可以要求您的服务器提供商帮助您设置服务器,因为这意味着您的$ curl无法链接到您的localhost并且无法从您的localhost检索数据。

希望这会对你有所帮助!!

答案 2 :(得分:2)

我能够通过3个步骤解决这个问题。在我的情况下,我使用标准(开箱即用的Opencart升级)将我的opencart数据库从1.5x升级到2.x.我也有多线程配置。运行以下步骤后,我能够编辑订单:

  1. 使用与旧数据库中使用的管理凭据相同的管理凭据安装OC2(开箱即用,无配置)。导出数据库并在转储文件(sql)中找到INSERT INTO api值的位置(...行。这是您需要在旧数据库中运行的第一个命令。

    < / LI>
  2. 更新设置设置值= 1其中key ='config_api_id';

  3. UPDATE store set ssl = url;但是,如果您正在使用localhost,这可能不起作用。因此,对于测试,我必须将其更改为UPDATE商店集ssl ='http://localhost/';不要忘记最后一个反斜杠。

  4. 请注意,您也可以在管理员用户界面上执行这些操作。

答案 3 :(得分:1)

我假设您正在使用opencart 2.x版本。请按照以下步骤进行操作

1)检查你的oc_api(oc是opencart数据库前缀)。应该有一条记录

如果没有,请运行以下查询

INSERT INTO oc_apiapi_idusernamefirstnamelastnamepasswordstatus,{{1 }},date_added)价值观 (1, '2uVCDrqPBaq52KKCModEFFc7ILdMbKWulvbEsLkJVJHbm334HGQC5BDxoWlnXUwi', '', '', 'so49tj04Cv6yteAoZaZ3IzAfhYG7qWkOLavvIyejHPHEO7eQEn7mtgUFxT9JXQvwCD9b46gFjlrMGSWvHs1NrECiaHPOaCTNRjk8E64eY0nNVflHgpJrCgH3bw1K1rOf28iXkyquk76F8lNWUexCuzjGzU29pOhq1O3peiy4K6n07jMeeL0QzAZLkuPq0nMuNXmzvLV5GxreUZidCvPXSEmItDAPZ4Pp6Ys2aqOzbgJ9EISV6NCVIAM8ONIrVEqd',1 '2015年1月27日16时38分49秒', '2015年1月27日16时38分49秒');

2)将config_api_id字段搜索到oc_setting表并输入其值1或在查询下运行

UPDATE oc_setting SET date_modified ='1'WHER valueoc_setting = 437;

现在检查管理员并编辑订单。你的问题会解决。

由于

答案 4 :(得分:1)

我有很多问题从opencart 1.5.1升级到2.0.1

与您的症状完全相同

SyntaxError:JSON.parse:JSON数据第1行第1列的意外数据结尾

所以我创建了一个新的数据库和opencart 2.0.1的全新安装

最初我对新订单没有任何问题,但随着更多订单的添加和历史记录的推出,我间歇性地得到了同样的恐惧。

解决这个问题的唯一方法是清除cookie,关闭浏览器,重新启动我正在使用的笔记本电脑,使用其他浏览器。或登录到另一台计算机以更改历史记录状态。

当opencart感觉像是

时,这个消息似乎似乎随机出现

真的,我应该只使用旧版本,我会在一个明显尚未准备好生产的版本中解决修复“问题”3天的问题。

答案 5 :(得分:1)

我有问题,简单的解决方案有效,试试这个:

打开Admin / 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/');

答案 6 :(得分:1)

尝试禁用维护模式。这对我有用!