Jquery 如何在asp.net中使用ajax从引导模式提交数据?
我一直被困在这个问题中,从bootstrap模式使用ajax/jquery将数据提交到数据库中,我认为ajax方法没有问题,但它没有响应任何aleart消息 这是控制器Jquery 如何在asp.net中使用ajax从引导模式提交数据?,jquery,ajax,asp.net-mvc,twitter-bootstrap-3,Jquery,Ajax,Asp.net Mvc,Twitter Bootstrap 3,我一直被困在这个问题中,从bootstrap模式使用ajax/jquery将数据提交到数据库中,我认为ajax方法没有问题,但它没有响应任何aleart消息 这是控制器 [HttpPost] public JsonResult Register(User user) { db.Users.Add(user); db.SaveChanges(); string message = "successfully Regist
[HttpPost]
public JsonResult Register(User user)
{
db.Users.Add(user);
db.SaveChanges();
string message = "successfully Register";
return Json(message);
}
引导模式视图
<button id="btn1"> Register</button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×
</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<h2>RegisterView</h2>
@using (Html.BeginForm("Register", "User", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<div class="form-horizontal">
<h4>User</h4>
<hr/>
<div class="form-group">
@Html.LabelFor(model => model.FirstName, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.SurName, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.SurName)
@Html.ValidationMessageFor(model => model.SurName)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.UserName, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.UserName)
@Html.ValidationMessageFor(model => model.UserName)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Email, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.Email)
@Html.ValidationMessageFor(model => model.Email)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Password, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.Password)
@Html.ValidationMessageFor(model => model.Password)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.ConfirmPassword, new {@class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.ConfirmPassword)
@Html.ValidationMessageFor(model => model.ConfirmPassword)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input id="submit" type="submit" value="Create" class="btn btn-default"/>
</div>
</div>
</div>
}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
寄存器
&时代;
模态头
注册视图
@使用(Html.BeginForm(“Register”、“User”、FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
使用者
@LabelFor(model=>model.FirstName,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.FirstName)
@Html.ValidationMessageFor(model=>model.FirstName)
@Html.LabelFor(model=>model.name,新的{@class=“controllabel col-md-2”})
@Html.EditorFor(model=>model.nam姓氏)
@Html.ValidationMessageFor(model=>model.nam姓氏)
@LabelFor(model=>model.UserName,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.UserName)
@Html.ValidationMessageFor(model=>model.UserName)
@Html.LabelFor(model=>model.Email,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Email)
@Html.ValidationMessageFor(model=>model.Email)
@LabelFor(model=>model.Password,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.Password)
@Html.ValidationMessageFor(model=>model.Password)
@LabelFor(model=>model.ConfirmPassword,新的{@class=“controllabel col-md-2”})
@EditorFor(model=>model.ConfirmPassword)
@Html.ValidationMessageFor(model=>model.ConfirmPassword)
}
关
Ajax方法
$(document).ready(function() {
$("#btn1").click(function() {
//alert("Heloo");
$("#myModal").modal();
});
$("#submit").click(function(e) {
e.preventDefault();
var a = $("#FirstName").val();
var b = $("#SurName").val();
var c = $("#UserName").val();
var d = $("#Email").val();
var z = $("#Password").val();
var f = $("#ConfirmPassword").val();
var jsonData = {
FirstName: a,
SurName: b,
UserName: c,
Email: d,
Password: z,
ConfirmPassword: f
};
$.ajax({
type: "POST",
url: '@Url.Action("Register", "User")',
contentType: "application/json;charset=utf-8",
data: JSON.stringify(jsonData),
dataType: "json",
success: function(data) {
alert(data);
}
});
});
});
</script>
$(文档).ready(函数(){
$(“#btn1”)。单击(函数(){
//警报(“Heloo”);
$(“#myModal”).modal();
});
$(“#提交”)。单击(功能(e){
e、 预防默认值();
var a=$(“#FirstName”).val();
var b=$(“#姓氏”).val();
var c=$(“#用户名”).val();
var d=$(“#Email”).val();
var z=$(“#密码”).val();
var f=$(“#确认密码”).val();
var jsonData={
名字:a,
姓:b,,
用户名:c,
电邮:d,,
密码:z,
确认密码:f
};
$.ajax({
类型:“POST”,
url:'@url.Action(“注册”、“用户”),
contentType:“应用程序/json;字符集=utf-8”,
数据:JSON.stringify(jsonData),
数据类型:“json”,
成功:功能(数据){
警报(数据);
}
});
});
});
我不知道这些代码行中哪里有问题。任何建议都可以接受。请提前感谢。尝试下面的代码
$.ajax({
cache: false,
type: 'POST',
url: '../User/Register',
data: JSON.stringify({ FirstName: a, Password: z}),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
}
,
error: function (ex) {
alert('Failed to retrieve data : ' + ex);
}
});`
由于方法中的对象名为user:-
public JsonResult Register(User user)
因此,ajax调用还应具有用户名:-
var user= {
FirstName: a,
SurName: b,
UserName: c,
Email: d,
Password: z,
ConfirmPassword: f
};
并通过:-
data: user,
我可以使用.SerialZeIE()方法而不是JSONDATA吗?检查您的DeVoToSoS>网络选项卡,看看您的Ajax调用是否被调用,响应是200 OKE,您可以考虑将<代码>错误<代码>处理程序添加到您的代码> $Ajax < /Cord>调用捕获错误:为什么我使用Cache:FalSEIT只是选择您可以移除该选项。