Firefox内部错误:递归过多

时间:2012-11-14 08:13:49

标签: jquery ajax

我从Firefox收到错误Internal Error: too much recursion。我正在尝试使用jquery进行ajax调用。使用Internet Explorer它工作正常。

我没有以递归方式调用任何函数。

请给我一些建议。感谢

 $(function(){
      $('#delivery').accordion({
           header: '.accTrigger',
           autoHeight: false,
           animated: 'easeslide',
           change: function(event, ui) {
                alert("here");
                event.preventDefault();
                $.ajax({
                     url: URL,
                     type: 'GET',
                     dataType: 'html',
                     timeout: 18000,
                     success: function(data, textStatus, xhr) {
                          alert("sus");
                     },
                     error: function(xhr, textStatus, errorThrown) {
                          alert("err" + errorThrown);
                     }
                });     

                $("input",ui.newHeader).prop("checked","checked");
                $("input",ui.newHeader).trigger('click');

                $(".accSection").each(function() {
                     $(this).removeClass("active");
                });

                ui.newHeader.parent().addClass("active");
                fitContentBackground();
           }
      });

      /**
      * Loop through all the payment types and enable the respective accordin
      */
      $.each($('.accSection'), function(index, value) {
           if ($('input[type="radio"]', value).is(':checked') == true) {
                $('#delivery').accordion('activate',index);
                $(this).addClass("active");
           } 
           else {
                $(this).removeClass("active");
           }
      });
 });

感谢大家的回复

我很抱歉添加整个代码,它引发了很多混乱......

即使是这个简单的代码片段也会产生相同的错误(InternalError:递归太多)     

$(document).ready(function() {
$("#buttontest123").click(function(evt){
  alert("herepavan");
  evt.preventDefault();

  setPayment();




});

function setPayment()
{   
      alert("here1");
    $.ajax({
        url: 'URL',
        type: 'GET',
        dataType: 'html',

        success: function(data, textStatus, xhr) {

           alert("sus");
        },
        error: function(xhr, textStatus, errorThrown) {
           alert("err"+errorThrown);
        }
    });


}

});

</script>

1 个答案:

答案 0 :(得分:3)

我认为在newHeader元素中触发元素的click事件会导致更改事件(将会重复发生)

 $("input",ui.newHeader).trigger('click');

尝试用任何其他逻辑替换上面的行(不要触发'click',只需调用你想要的代码)