在 jquery 中提交时触发 Uncaught RangeError
2017-02-02
58
我尝试使用 AJAX 发布表单,为此,我使用了 jQuery。我为此编写的代码如下:
$("#addStaffForm").on("submit", function(event) {
event.preventDefault();
var formPost = $.post("/medewerkers-toevoegen", {
"_token": $("input[name=_token]"),
"voorletters": $("input[name=voorletters]"),
"tussenvoegsels": $("input[name=tussenvoegsels]"),
"achternaam": $("input[name=achternaam]"),
"gebruikersnaam": $("input[name=gebruikersnaam]"),
"wachtwoord": $("input[name=wachtwoord]")
});
formPost.done(function(data) {
console.log("data");
});
});
很简单,但是,当我尝试实际提交表单时,我得到了这个:
Uncaught RangeError: Maximum call stack size exceeded
at Function.type (jquery.min.js:1)
我不知道为什么会出现这个错误,我能想到的唯一解释是我创建了一个无限循环,但我似乎找不到。
为什么这么小、这么简单的代码不能像我希望的那样工作?
谢谢
2个回答
找到答案了!我忘了其实我发送的是整个 jquery 元素,而不是输入值。
$("#addStaffForm").submit(function(e) {
e.preventDefault();
var token = $("input[name=_token]").val();
var voorletters = $("input[name=voorletters]").val();
var tussenvoegsels = $("input[name=tussenvoegsels]").val();
var achternaam = $("input[name=achternaam]").val();
var gebruikersnaam = $("input[name=gebruikersnaam]").val();
var wachtwoord = $("input[name=token]").val();
$.post("/medewerkers-toevoegen", {
"_token": token,
"voorletters": voorletters,
"tussenvoegsels": tussenvoegsels,
"achternaam": achternaam,
"gebruikersnaam": gebruikersnaam,
"wachtwoord": wachtwoord
}, function(data) {
console.log(data);
}, function(data) {
console.log(data);
});
});
对我有用!
sushibrain
2017-02-02
你应该试试这个
var params = {
"_token": $("input[name=_token]").val(),
"voorletters": $("input[name=voorletters]").val(),
"tussenvoegsels": $("input[name=tussenvoegsels]").val(),
"achternaam": $("input[name=achternaam]").val(),
"gebruikersnaam": $("input[name=gebruikersnaam]").val(),
"wachtwoord": $("input[name=wachtwoord]").val()
}
var formPost = $.post("/medewerkers-toevoegen", params);
Manoj
2017-02-02