【发布时间】:2016-10-19 09:28:24
【问题描述】:
我对 jQuery ajax 有疑问。 我有 javascript
<script type="text/javascript">
$(function() {
$('body').on("click", "#pager a", function(e) {
e.stopPropagation();
e.preventDefault();
var a = $(this);
var model = $('#searchForm').serialize();
$.ajax({
url: '/Product/Products',
type: 'POST',
data: {
model: model, page: a
},
success: function (data) {
alert('success');
$('#productsList').html(data);
}
});
});
});
</script>
此代码产生错误“未捕获的 RangeError:超出最大调用堆栈大小”,我不明白为什么。我没有触发器,我使用了 preventDefault 和 stopPropagation,但我仍然有这个错误。谁能帮帮我?
【问题讨论】:
-
真的很奇怪。我完全看不出为什么这段代码会产生这种情况。你在其他地方没有任何其他代码吗?
-
您可以编辑您的问题并添加您的 HTML 吗?帮助我们重现错误。
-
您将
page: a作为您提交的数据的一部分,其中a是一个jQuery 对象-您希望它做什么? -
页面上有多少个
<a>(即嵌套在#pager中)?发布您的html。#pager听起来像是一种分页。例如,如果您的分页显示中有数千个 页面(例如 ?page=1, ?page=2, 50, 100, 1000),均以<div id="#pager"><a href="?page=2">...<a href="?page=10000"></div>引用,则绑定~x<a>元素上的点击处理程序可以轻松填充堆栈。
标签: javascript jquery