8

我查遍了整个互联网,没有找到答案。

基本上我的问题是,每当我尝试编辑订单和更改商店时,我都会收到 SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data OK in firefox 和 chrome 我得到 SyntaxError: Unexpected end of input OK .

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

4

7 回答 7

3

我得到了同样的错误并找到了修复它:

  1. 以管理员身份登录后端,然后转到System > Users > Api
  2. 使用生成的密码创建一个新的 api并确保它已 启用
  3. 转到您的商店设置(系统 > 设置 > 编辑)并打开 选项选项
  4. 向下滚动直到找到“结帐
  5. 在显示“ API User ”的地方选择您刚刚创建的 API 用户
  6. 保存更改并完成!

您现在可以编辑订单状态了!

于 2015-07-15T08:32:58.380 回答
2

我能够通过 3 个步骤解决这个问题。就我而言,我确实使用标准(开箱即用的 Opencart 升级)将我的 opencart 数据库从 1.5x 升级到了 2.x。我也有一个多商店配置。运行以下步骤后,我就可以编辑订单:

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

  2. 更新设置设置值 = 1 其中key= 'config_api_id';

  3. 更新存储集ssl=url;但是,如果您在 localhost 上工作,这可能不起作用。所以为了测试,我不得不把它改成 UPDATE store set ssl= ' http://localhost/ '; 不要忘记最后一个反斜杠。

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

于 2015-04-19T02:58:36.870 回答
2

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

如果您尝试了在 Internet 上找到的所有可能的解决方案,但没有一个有效,则该错误可能来自您的服务器提供商。

就我而言,问题来自 $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 不能链接到你的本地主机并且不能从你的本地主机检索数据。

希望对你有帮助 !!

于 2015-03-23T10:10:22.597 回答
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/');
于 2015-04-02T11:27:41.127 回答
1

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

于 2015-04-22T07:38:42.150 回答
1

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

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

如果不是,请在查询下方运行

INSERT INTO oc_api( api_id, username, firstname, lastname, password, status, date_added, date_modified) VALUES (1, '2uVCDrqPBaq52KKCModEFFc7ILdMbKWulvbEsLkJVJHbm334HGQC5BDxoWlnXUwi', '', '', 'so49tj04Cv6yteAoZaZ3IzAfhYG7qWkOLavvIyejHPHEO7eQEn7mtgUFxT9JXQvwCD9b46gFjlrMGSWvHs1NrECiaHPOaCTNRjk8E64eY0nNVflHgpJrCgH3bw1K1rOf28iXkyquk76F8lNWUexCuzjGzU29pOhq1O3peiy4K6n07jMeeL0QzAZLkuPq0nMuNXmzvLV5GxreUZidCvPXSEmItDAPZ4Pp6Ys2aqOzbgJ9EISV6NCVIAM8ONIrVEqd', 1, '2015-01-27 16:38:49', '2015-01-27 16:38:49');

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

更新 oc_setting SET value= '1' WHERE oc_settingsetting_id= 437;

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

谢谢

于 2015-02-09T13:56:36.853 回答
1

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

和你的症状完全一样

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

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

最初我对新订单没有任何问题,但随着更多订单的添加和历史记录的修改,我间歇性地遇到了同样的错误。

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

当 opencart 喜欢它时,这条消息似乎只是随机出现

真的,我应该只使用旧版本,我本来可以节省 3 天的时间来解决显然还没有准备好生产的版本中的“问题”。

于 2015-02-12T15:31:06.693 回答