首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ajax公式运行超过1行后停止运行。

Ajax公式运行超过1行后停止运行。
EN

Stack Overflow用户
提问于 2013-08-20 06:01:45
回答 1查看 152关注 0票数 0

这非常奇怪。第29行之后的所有代码都不起作用。我试着在第29行之前添加一行简单的代码,将背景更改为红色,并且成功了。

代码语言:javascript
复制
$('#button-shipping-method').live('click', function() {
    $.ajax({
        url: 'index.php?route=checkout/shipping_method/validate',
        type: 'post',
        data: $('#shipping-method input[type=\'radio\']:checked, #shipping-method textarea'),
        dataType: 'json',
        beforeSend: function() {
            $('#button-shipping-method').attr('disabled', true);
            $('#button-shipping-method').after('<span class="wait">&nbsp;<img src="catalog/view/theme/default/image/loading.gif" alt="" /></span>');
        },  
        complete: function() {
            $('#button-shipping-method').attr('disabled', false);
            $('.wait').remove();
        },          
        success: function(json) {
            $('.warning, .error').remove();
            if (json['redirect']) {
                location = json['redirect'];
            } else if (json['error']) {
                if (json['error']['warning']) {
                    $('#shipping-method .checkout-content').prepend('<div class="warning" style="display: none;">' + json['error']['warning'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
                    $('.warning').fadeIn('slow');
                }           
            } else {
                $.ajax({
                    url: 'index.php?route=checkout/payment_method',
                    dataType: 'html',
                    success: function(html) {
                        $('#payment-method .checkout-content').html(html); // LINE 29
                        $('#shipping-method .checkout-content').slideUp('slow');
                        $('#payment-method .checkout-content').slideDown('slow');
                        $('#shipping-method .checkout-heading a').remove();
                        $('#payment-method .checkout-heading a').remove();
                        $('#shipping-method .checkout-heading').append('<a><?php echo $text_modify; ?></a>');   
                    },
                    error: function(xhr, ajaxOptions, thrownError) {
                        alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
                    }
                });                 
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    }); 
});
EN

回答 1

Stack Overflow用户

发布于 2013-08-20 06:18:29

看起来DOM中不存在带有id="shipping-method"的超文本标记语言元素(在第30行引用)。

试着测试一下--在第30行插入:

代码语言:javascript
复制
alert('Line 30');
var test = $('#shipping-method').length;
alert(test);
alert('Line 33');

如果出现1警告,则该元素存在;如果为零,则该元素不存在。

让我们知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18323858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档