8

私はインターネット全体を見ましたが、答えは見つかりませんでした。

基本的に私の問題は、注文を編集してストアを変更しようとするたびに SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data OK in firefox and chrome を取得することです SyntaxError: Unexpected end of input OK を取得します.

提案されたすべてのことを試しましたが、機能しないため、これに対する「実際の」解決策を見つけた人はいますか。api_id の変更からセカンダリ API の作成まで。そして .htaccess メソッドも。

4

7 に答える 7

2

この問題は 3 ステップで解決できました。私の場合、opencart データベースを 1.5x から 2.x に標準でアップグレードしました (すぐに使える Opencart アップグレード)。マルチストア構成もありました。次の手順を実行すると、注文を編集できました。

  1. レガシー データベースで使用されているものと同じ管理者資格情報を使用して、OC2 をインストールします (すぐに使える、構成なし)。データベースをエクスポートし、ダンプ ファイル (sql) で INSERT INTO 値 (... 行) がある場所を見つけますapi。これは、レガシー データベースで実行する必要がある最初のコマンドです。

  2. UPDATE 設定 set value=1 where key= 'config_api_id';

  3. UPDATE ストア セットssl=url; ただし、ローカルホストで作業している場合、これは機能しない可能性があります。したがって、テストのために、UPDATE store set ssl= ' http://localhost/ ';に変更する必要がありました。最後のバックスラッシュを忘れないでください。

これらの操作は、管理者ユーザー インターフェイスでも実行できることに注意してください。

于 2015-04-19T02:58:36.870 に答える
2

たまたま同じ更新順序の問題が発生しました。

インターネットで見つけたすべての解決策を試しても解決しない場合は、サーバー プロバイダーに問題がある可能性があります。

私の場合、問題は opencart 2.0 で頻繁に使用される $curl 関数に起因します。

この php ファイルを admin/controller/sale/ に貼り付けて、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);
       ?>

ブラウザのメッセージにこれが表示されない場合

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 に答える