【发布时间】:2019-08-24 23:47:48
【问题描述】:
我的代码中有这个返回未定义的 ajax post 方法。我认为这是因为我没有传递任何数据,任何帮助将不胜感激。
我尝试使用@Url.Action Helper 传递url 字符串,并在ajax 方法的成功参数中将数据作为参数传递。
//jquery ajax post方法
function SaveEvent(data) {
$.ajax({
type: "POST",
url: '@Url.Action("Bookings/SaveBooking")',
data: data,
success: function (data) {
if (data.status) {
//Refresh the calender
FetchEventAndRenderCalendar();
$('#myModalSave').modal('hide');
}
},
error: function (error) {
alert('Failed' + error.val );
}
})
}
//控制器动作
[HttpPost]
public JsonResult SaveBooking(Booking b)
{
var status = false;
using (ApplicationDbContext db = new ApplicationDbContext())
{
if (b.ID > 0)
{
//update the event
var v = db.Bookings.Where(a => a.ID == a.ID);
if (v != null)
{
v.SingleOrDefault().Subject = b.Subject;
v.SingleOrDefault().StartDate = b.StartDate;
v.SingleOrDefault().EndDate = b.EndDate;
v.SingleOrDefault().Description = b.Description;
v.SingleOrDefault().IsFullDay = b.IsFullDay;
v.SingleOrDefault().ThemeColor = b.ThemeColor;
}
else
{
db.Bookings.Add(b);
}
db.SaveChanges();
status = true;
}
}
return new JsonResult { Data = new { status } };
}
【问题讨论】:
标签: ajax asp.net-mvc post