1

異なるドメインを持つ 2 つのフロントエンドの opencart で共有カートを作成しています。

それを達成するためにphpsessidを共有します。

考え

フロントエンド 1 (abc.com) でいくつかのものを選び、それをカートに入れてからフロントエンド 2 (xyz.com) に移動し、たとえばカートに入れてそこで支払います。

問題は、2 番目のフロント エンドの最初の読み込みの後、空のカートが表示され、それを変更するにはページをリロードする必要があることです。Web開発者を通して、phpsessidが設定されているが変数からアクセスできないことを確認しました$_COOKIE['PHPSESSID']が、ページをリロードした後は悲しいので動作します。ページを初めてロードしたときに機能させるための回避策はありますか?

今、私は最初の訪問後にページをリロードするように設定しましたが、それはかなり不潔な解決策だと思います..

4

1 に答える 1

1

xyz.com で最初にページをロードしたとき、Cookie はまだ設定されていません。Cookie は最初のペイロードで配信され、ラウンドトリップが完了した後にのみ読み取りにアクセスできます。

Cookie データに依存する必要がある場合は、最初のページ読み込みで Cookie を設定し、すぐにユーザーに表示されるショッピング カートのフロントエンドにリダイレクトする必要があります。最初のページで Cookie データが設定され、2 番目のページで値を表示できます。

必要に応じて、Javascript を使用してこのリダイレクトを完了できます。

于 2012-10-19T00:14:40.837 に答える