我从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>
答案 0 :(得分:3)
我认为在newHeader元素中触发元素的click事件会导致更改事件(将会重复发生)
$("input",ui.newHeader).trigger('click');
尝试用任何其他逻辑替换上面的行(不要触发'click',只需调用你想要的代码)