我对网络应用程序开发,javascript和MVC都比较陌生,所以请耐心等待。
我想使用Jquery.Ajax命令将我的模型发布到我的控制器。
我的观点:
@model MVC_Interface_May21.Models.DataValuesViewModel
...
<form method="post" id="testForm">
<input type="submit" class="subButton" value="Add New.." />
</form>
...
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'>
$(document).ready(function () {
$('#testForm').submit(function (e) {
e.preventDefault();
@{var val = Json.Encode(Model);}
var check = '@Html.Raw(val)';
$.ajax({
url: 'Results/AddNew',
type: 'POST',
//data: JSON.stringify(check),
contentType: 'application/json; charset=utf-8',
success: function (data) {
alert(data);
}
});
});
}
...
</script>
我没有包含我的模型或控制器的代码,因为我不相信它们是问题的一部分。目前,我的代码只是回发到同一页面。据我所知,ajax命令没有被执行。调试器没有帮助我跟踪行为,我假设表单只是在提交并忽略我的函数。
非常感谢任何帮助,如果过去已经回答过,我很抱歉。我通过查看其他解决方案开发了我的代码,但我无法确定是什么导致我的功能失调。
答案 0 :(得分:0)
你必须阅读更多关于MVC的内容,我甚至不确定你是在尝试序列化这样的Razor模型,但这是你从服务器获得的,而不是你的HTML表单,无论用户输入是什么
您可以使用此js函数提交带有Ajax的表单。
$(function () {
$('#myForm').submit(function () {
if ($(this).valid()) {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function (result) {
$('#result').html(result);
}
});
}
return false;
});
});
使用创建表单并输入助手/
@Html.BeginFor
@Html.EditorFor