私はオープンカートを持っています。商品をカートに追加する関数 addToCart() は、通常のページでは正常に機能します。
関数addtoCart()をトリガーするボタンだけがあるカスタムページを作成しました。普通のボタンだけ…
通常のページ(機能する場所)では、通常の応答が得られます。
この画像のリンクを見てください: http://imgur.com/7M1AR1B,FKjiU05,9ggmiMR#2
3 番目の画像は実際に問題なく動作する投稿です。2 番目の画像は問題なく動作する RESPONSE です。最初の画像は、開いているカートのカスタム ページで取得した空の応答です。
なぜこれが起こっているのか分かりますか?
関数 addToCart() を使用し、そのカスタム ページでハード変数 FOR TEST を使用します。これは、変数が常に渡されることを意味します。ハード変数を使用するので、変数をコードに戻す方法を説明する必要はありません (同じように機能し、すべてをデバッグに渡します)。問題は、カスタムメイドのページでのみ「空の」応答が返されることです。応答: [] ...
function addToCart() {
var product_id = 79;
var quantity = 1;
$.ajax({
url: 'index.php?route=checkout/cart/add',
type: 'post',
data: 'product_id=' + product_id + '&quantity=' + quantity,
dataType: 'json',
success: function (json) {
$('.success, .warning, .attention, .information, .error').remove();
if (json['redirect']) {
location = json['redirect'];
}
if (json['success']) {
$('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
$('.success').fadeIn('slow');
$('#cart-total').html(json['total']);
$('html, body').animate({
scrollTop: 0
}, 'slow');
}
}
});
}