Php RangeError:超出了最大调用堆栈大小。点击Ajax请求
我试图为通过AJAX请求(在Wordpress中)从数据库收集的数据表构建一个过滤器。有两个下拉菜单和一个提交按钮。问题是当我点击submit按钮时,我的浏览器冻结,并出现错误:RangeError:超出了最大调用堆栈大小。 这是什么原因造成的 加载页面时,代码将加载表格(包括下拉菜单和提交按钮)。加载后,它将加载“单击提交按钮”功能Php RangeError:超出了最大调用堆栈大小。点击Ajax请求,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我试图为通过AJAX请求(在Wordpress中)从数据库收集的数据表构建一个过滤器。有两个下拉菜单和一个提交按钮。问题是当我点击submit按钮时,我的浏览器冻结,并出现错误:RangeError:超出了最大调用堆栈大小。 这是什么原因造成的 加载页面时,代码将加载表格(包括下拉菜单和提交按钮)。加载后,它将加载“单击提交按钮”功能 <script> (function($ jQuery(document).ready(function($){ var am
<script>
(function($
jQuery(document).ready(function($){
var amount = 10; //get amount of results to show per page
$.post("<?php echo get_stylesheet_directory_uri(); ?>/ajax_table.php", {
manual_filter: 1,
//sector_id : '<?php echo $sector_id; ?>', //send the data to the page using this format
amount : amount //send the data to the page
}, function(data) {
// data will hold the output from the script.php
$("#table").html(data); //update the div with the output
$("#submit").click(function (){
var sector = document.getElementById("sector_dropdown");
var year = document.getElementById("year_dropdown");
$.post("<?php echo get_stylesheet_directory_uri(); ?>/ajax_table.php", {
manual_filter: '1',
sector_id: sector,
year: year,
amount : amount //send the data to the page using this format
}, function(data) {
// data will hold the output from the script.php
$("#table").html(data); //update the div with the output
});
});
});
});
})(jQuery);
</script>
<div id="table">
</div>
(功能($
jQuery(文档).ready(函数($){
var amount=10;//获取每页要显示的结果量
$.post(“/ajax\u table.php”{
手动过滤器:1,
//扇区id:“”,//使用此格式将数据发送到页面
金额:金额//将数据发送到页面
},函数(数据){
//数据将保存script.php的输出
$(“#table”).html(数据);//使用输出更新div
$(“#提交”)。单击(函数(){
var sector=document.getElementById(“sector_下拉列表”);
var year=document.getElementById(“年份下拉列表”);
$.post(“/ajax\u table.php”{
手动_过滤器:“1”,
扇区id:扇区,
年份:年份,,
amount:amount//使用此格式将数据发送到页面
},函数(数据){
//数据将保存script.php的输出
$(“#table”).html(数据);//使用输出更新div
});
});
});
});
})(jQuery);
问题是当我点击提交按钮时,我的浏览器冻结
我得到一个错误:RangeError:超过了最大调用堆栈大小。
这是什么原因造成的
$(“#表”).html(数据)
加载具有id
\submit
的重复元素?单击\submit
时,所有重复的\submit
元素单击
调用的处理程序?结果是添加更多重复的\submit
元素,并附加单击
事件,调用所有dupli的单击
处理程序cate#提交
元素
注意,
id
s在文档中应该是唯一的
click
事件可以委托给附加到#submit
父元素表
之外的$.post()
完成回调的单个处理程序
问题是当我点击提交按钮时,我的浏览器冻结
我得到一个错误:RangeError:超过了最大调用堆栈大小。
这是什么原因造成的
$(“#表”).html(数据)
加载具有id
\submit
的重复元素?单击\submit
时,所有重复的\submit
元素单击
调用的处理程序?结果是添加更多重复的\submit
元素,并附加单击
事件,调用所有dupli的单击
处理程序cate#提交
元素
注意,id
s在文档中应该是唯一的
click
事件可以委托给#submit
父元素表
之外的$.post()
完成回调。我最终修复了它。这与“提交”按钮无关,与下拉菜单有关。
这就是它成功的原因:
var sectorALL = document.getElementById("sector_dropdown");
var sector = sectorALL.options[sectorALL.selectedIndex].value;
我最终解决了这个问题。这与#提交按钮无关,而是与下拉菜单有关。
这就是它成功的原因:
var sectorALL = document.getElementById("sector_dropdown");
var sector = sectorALL.options[sectorALL.selectedIndex].value;
什么是数据
?是否$(“#表”).html(数据)
向文档添加#提交
元素?是的,#提交与$(“#表”).html(数据)
什么是数据
?是否$(“#表”).html(数据)
将#submit
元素添加到文档中?是的,#submit与$(“#表”).html(数据)一起加载到文档中;
但是没有任何其他id为“submit”的元素可以创建JSFIDLE来演示?我不确定我可以,因为我的代码使用了外部资源。@user5331188 JSFIDLE允许用户创建一个响应,该响应将从同一页面echo
ed;另请参见。可以通过单击“更新”来更新JSFIDLE。一个可以更新的草稿模板可以复制OP中描述的过程,但是没有任何其他id为“submit”的元素可以创建JSFIDLE进行演示?我不确定我可以创建JSFIDLE,因为我的代码使用了外部资源。@user5331188 JSFIDLE允许用户创建一个响应,该响应将从同一页面中回送;另请参阅。可以通过单击“更新”来更新JSFIDLE。一个可以更新的模板草案,以重现OP