質問 > フロント機能 > tokenなしでの別サーバーなどからカート追加 |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
be-s |
投稿日時: 2020/1/29 11:58
対応状況: −−−
|
一人前 登録日: 2016/2/2 居住地: São Paulo 投稿: 115 |
tokenなしでの別サーバーなどからカート追加 ▼テンプレート4
[EC-CUBE] 4 [レンタルサーバ] AWS [OS] CENTOS [PHP] 7.1 [データベース] MYSQL [WEBサーバ] APACHE2 [現象] 下記URLの情報に従って、カート追加の処理にtokenなしで動作できたのですが 同サーバー、EC-CUBE内からは、カート追加できるのですが 別サーバー、外部などからのカート追加できません。 何か、EC-CUBE内からでないとカート追加できないような処理が組まれているのでしょうか? 別サーバーなどに、商品シュミレーターのようなjavascriptで組んだ静的ページからカート追加したいのですが どなたかご教授お願いできないでしょうか? 参考URL https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=22697&forum=2 |
umebius |
投稿日時: 2020/1/29 12:03
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: tokenなしでの別サーバーなどからカート追加 違うドメインからAjaxでと言うことですよね?
Access-Control-Allow-Originヘッダーを追加するなどして CORS対応が必要かと思います。 https://qiita.com/umechiki/items/82dd43cd1465de5f5afe
|
be-s |
投稿日時: 2020/1/29 13:07
対応状況: −−−
|
一人前 登録日: 2016/2/2 居住地: São Paulo 投稿: 115 |
Re: tokenなしでの別サーバーなどからカート追加 umebius さん早速のご回答ありがとうございます。
そうですねAJAXでのカート追加を想定しております。 ajax通信時に下記のように設定しています。 合っていますでしょうか? apache側も変更するのですかね? ひとまずローカルのajaxソースを作りましたが、カート追加失敗しました。 apacheの設定もおこなってみます。 $.ajax({ url: $form.attr('action'), type: $form.attr('method'), data: $form.serialize(), dataType: 'json', //追記 xhrFields: { withCredentials: true }, /追記 beforeSend: function(xhr, settings) { // Buttonを無効にする $('.add-cart').prop('disabled', true); } }) |
be-s |
投稿日時: 2020/1/29 15:04
対応状況: −−−
|
一人前 登録日: 2016/2/2 居住地: São Paulo 投稿: 115 |
Re: tokenなしでの別サーバーなどからカート追加 AJAX使わずにPOSTするだけなら
TOKEN使わずにカート追加できました。 AJAXの方は、失敗してしまいます。 |
k.nakayama |
投稿日時: 2020/1/29 17:19
対応状況: −−−
|
常連 登録日: 2019/10/11 居住地: 投稿: 52 |
Re: tokenなしでの別サーバーなどからカート追加 CORSを理解されていないようです。
ドメインが異なる場合、GET以外のリクエストが出来ないようになっています。 これはEC-CUBEだからとかではなく、ブラウザの仕様です。 ブラウザの仕様なので、CURLではリクエストが通るはずです。 異なるドメインを許可するためにはサーバーサイドに、リクエストを許可するドメインの指定、リクエストの種類を許可するレスポンスヘッダが必要になります。 この作業にフロントエンドは関係ありません。 ---------------- 公式インテグレートパートナー (株)U-Mebius |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |