use*_*841 19 javascript jquery
我有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>
Run Code Online (Sandbox Code Playgroud)
此代码产生错误"Uncaught RangeError:超出最大调用堆栈大小",我不明白为什么.我没有触发器,我使用了preventDefault和stopPropagation,但我仍然有这个错误.谁能帮我?
小智 46
如果您在该范围中未定义的数据中传递某些内容,也会出现此错误.另一个原因是直接传递val()数据.
小智 8
不使用var a = $(this)来获取页面,而是使用一个隐藏字段并为该字段提供页面值.
<input type="hidden" value="xyzpage" id="pageValue">
var pageVal = $("#pageValue").val();
data: {
model: model, page:pageVal
},
Run Code Online (Sandbox Code Playgroud)
这将解决我猜的问题
我想分享我的经验,
就我而言,这只是一个错误的参数名称和完全相同的错误消息:我输入了 configID 而不是 confID,并收到了此错误。
function openNameEditor() {
var confID = $("#configStatusList").attr("data-id");
debugger;
$.ajax({
url: '@Url.Action("GetModelNameToChange", "Admin")',
type: "GET",
dataType: "HTML",
data: { configID: configID},//Here, instead of confID, I put configID which doesn't exist in the function.
success: function (response) {
$("#name-editor").html(response);
},
error: function (er) {
alert(er.error);
}
});
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
26180 次 |
最近记录: |