0

我有opencart。将产品添加到购物车的函数 addToCart() 在普通页面上正常工作。

我制作了自定义页面,其中只有触发函数 addtoCart() 的按钮。只是普通的按钮..

在正常页面(它工作的地方)我得到正常的响应。

请看这个图片链接:http: //imgur.com/7M1AR1B,FKjiU05,9ggmiMR#2

第三张图片实际上是可以正常工作的帖子,第二张图片是可以正常工作的响应。第一张图片是我在打开购物车的自定义页面中得到的空响应。

你知道为什么会这样吗?

我使用函数 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');
            }
        }
    });
}
4

2 回答 2

0

问题是,我添加了一个没有 1 个所需属性的产品,因此我总是得到空响应。opencart 中有一个属性,您必须在其中设置您的产品所属的商店。如果您在以编程方式将产品添加到商店时未设置该属性,您将添加产品,但无法将其添加到购物车。

于 2013-02-14T01:00:44.617 回答
0

尝试的可能性

  1. 使用 HTTPS 到非 HTTPS,反之亦然
  2. 使用 www 到非 www 域,反之亦然
  3. 使用与您用于呈现页面的域不同的域

如果以上都不是问题,您需要弄清楚请求之间的确切差异是什么,尽管我猜这是我列出的三种可能性之一

于 2013-02-13T00:42:32.780 回答