我有一个表单,我想在jQuery中使用Ajax调用发布,但是我收到错误的#34;太多的递归"在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");
}
});
});
答案 0 :(得分:0)
这是工作小提琴它正常工作 问题可能是你的jquery版本,或者它可能与othere jquery冲突
jsfiddle.net/nc97jt52/
答案 1 :(得分:0)
我最终设法搞清楚了。在我的页面上,我包括其他页面模板和模块,其中一个引用了我在页面上引用的相同.js文件。这就是导致错误的原因。
我删除了对模板的引用,该模板链接了相同的文件,因为它实际上并不需要并且重新解决了问题。感谢所有的帮助