Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php RangeError:超出了最大调用堆栈大小。点击Ajax请求_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Php RangeError:超出了最大调用堆栈大小。点击Ajax请求

Php RangeError:超出了最大调用堆栈大小。点击Ajax请求,php,jquery,ajax,wordpress,Php,Jquery,Ajax,Wordpress,我试图为通过AJAX请求(在Wordpress中)从数据库收集的数据表构建一个过滤器。有两个下拉菜单和一个提交按钮。问题是当我点击submit按钮时,我的浏览器冻结,并出现错误:RangeError:超出了最大调用堆栈大小。 这是什么原因造成的 加载页面时,代码将加载表格(包括下拉菜单和提交按钮)。加载后,它将加载“单击提交按钮”功能 <script> (function($ jQuery(document).ready(function($){ var am

我试图为通过AJAX请求(在Wordpress中)从数据库收集的数据表构建一个过滤器。有两个下拉菜单和一个提交按钮。问题是当我点击submit按钮时,我的浏览器冻结,并出现错误:RangeError:超出了最大调用堆栈大小。 这是什么原因造成的

加载页面时,代码将加载表格(包括下拉菜单和提交按钮)。加载后,它将加载“单击提交按钮”功能

<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