4

Internal Error: too much recursion从 Firefox 收到错误消息。我正在尝试使用 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: too much recursion)

$(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>
4

1 回答 1

3

我认为为 newHeader 元素中的元素触发 click 事件会导致 change 事件(这将是 recusive)

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

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

于 2012-11-14T23:38:59.197 回答