我正在尝试使用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)
我不知道为什么会给我这个错误,我能想到的唯一解释是我创建了一个无限循环,但我似乎无法找到它。
这个小而简单的代码怎么可能不像我想要的那样工作呢?
由于
答案 0 :(得分:0)
你应该试试这个
<Window x:Class="MVVM_Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MVVM_Test"
xmlns:diag="clr-namespace:System.Diagnostics;assembly=WindowsBase"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<ListBox Margin="6" Grid.RowSpan="2" Name="PART_LISTBOX">
<sys:String>String 1</sys:String>
<sys:String>String 2</sys:String>
<sys:String>String 3</sys:String>
</ListBox>
<StackPanel Name="PART_spViewModel2" Grid.Column="1" Grid.Row="1">
<StackPanel.DataContext>
<local:ViewModel2 BoundString="{Binding ElementName=PART_LISTBOX,
Path=SelectedItem,
diag:PresentationTraceSources.TraceLevel=High}" />
</StackPanel.DataContext>
<TextBox Margin="6" Text="{Binding BoundString}" />
</StackPanel>
</Grid>
</Window>
答案 1 :(得分:0)
找到答案!我忘了我实际上是在发送整个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);
});
});
适合我!