我有一个表单,我想在jQuery中使用Ajax调用来发布它,但是在FireFox中我得到了一个“太多递归”的错误。它在Chrome上也失败了,所以这不仅仅是FF的问题。该表单包含两个文本输入和一些隐藏字段,这些字段具有应在提交时回发的值。
表单在没有Ajax调用的情况下成功发布,即使用标准的提交按钮发布表单,但我希望发布时不返回页面。表单位于jQuery对话框中,如果这样做会有所不同的话。
目前,我只是想看看调用是成功还是失败,而不是在调用之后做任何有用的事情。
在我正在处理的项目中,还有其他类似的调用,它们以几乎相同的方式工作,它们一直在按预期工作。我对这一切都是新手,但不知道这里出了什么问题。任何帮助都将不胜感激。干杯!
$("#formID").submit(function (e) {
e.preventDefault();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(html){
alert("success");
},
error: function(xhr, status, err){
console.log(xhr.statusText);
console.log(status);
console.log(err);
alert("failure");
}
});
}); 发布于 2014-09-25 21:20:13
这就是问题所在,它工作得很好,可能是你的jquery版本有问题,或者它会与其他jquery冲突。
jsfiddle.net/nc97jt52/
发布于 2014-09-26 23:32:46
我最终还是想出了办法。在我的页面上,我包含了其他页面模板和模块,其中一个引用了我在页面上引用的同一个.js文件。这就是导致错误的原因。
我删除了对模板的引用,该模板链接了相同的文件,因为它实际上并不需要,这解决了问题。感谢大家的帮助
https://stackoverflow.com/questions/26039324
复制相似问题