0

我正在尝试创建 ajax 购物车,并且通过单击“添加到购物车”成功添加了产品。但是在不刷新页面的情况下无法更新购物车/标题链接。调试后,发现代码卡在“var json = transport.responseText.evalJSON();” . 我在 json 响应文本之前和之前使用警报进行调试。

这是我使用的代码:

var oldLabel;
            $$('.btn-cart').each( function(el){     
                oldLabel=el.select("span span")[0].innerHTML;
                el.title="<?php echo $this->__('Please wait...'); ?>"; 
                el.select("span span")[0].innerHTML="<?php echo $this->__('Please wait...'); ?>"; });

            try {
                this.form.request({
                    parameters: { adeptaajax:'true' },    
                    onSuccess: function(transport){ 
                        var json = transport.responseText.evalJSON();
                        var displayString = json.message;
                        if(json.success) {
                            $$('.block-cart').invoke('replace', json.cartsidebar);
                            $$('.header .links').invoke('replace', json.toplinks); 
                        }

                        $$('.btn-cart').each( function(el){ 
                            el.enable(); 
                            el.select("span span")[0].innerHTML=oldLabel; 
                            el.title=oldLabel; 
                        });
                        alert(displayString);
                    },
                    onFailure: function(transport){ 
                        $$('.btn-cart').each( function(el){ 
                            el.enable(); 
                            el.select("span span")[0].innerHTML=oldLabel; 
                            el.title=oldLabel;
                        });
                        alert("<?php echo $this->__('There has been a problem adding your product. Please try again later.'); ?>");
                    }
                });
4

0 回答 0