我想知道如何在成功的情况下显示成功或错误消息,或者在带有引导程序的MVC项目中由于控制器操作而失败。例如,我执行以下操作:
输入:
用于将数据发送到控制器的Javascript方法:
//Sends data filled in in modal to backend.
$(document).ready(function () {
$("#btnSubmit").click(function () {
var datastring = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "/ApiBroker/AddApi",
dataType: 'json',
data: datastring,
});
$('#myModal').modal('hide');
$('body').removeClass('modal-open');
$('.modal-backdrop').remove();
})
})
控制器方法:
[HttpPost]
public ActionResult AddApi(ApiRedirect model)
{
var data = model;
try
{
List<ApiRedirect> list = dbProducts.ApiRedirects.ToList();
int companyID = dbProducts.Companies.Where(x => x.CompanyName == model.Company.CompanyName).FirstOrDefault().CompanyID;
int mappingID = dbProducts.MappingNames.Where(x => x.Name == model.MappingName.Name).FirstOrDefault().MappingID;
ApiRedirect api = new ApiRedirect();
api.ApiName = model.ApiName;
api.CompanyID = companyID;
api.ApiURL2 = model.ApiURL2;
api.MappingID = mappingID;
api.ResponseType = model.ResponseType;
dbProducts.ApiRedirects.Add(api);
dbProducts.SaveChanges();
return View ();
}
catch (Exception ex){
throw ex;
}
}
如果方法AddUser将用户添加到我的数据库中,我想显示一条错误消息,如果未添加该用户,我想显示一条错误消息。我不知道该如何做到这一点?
谢谢!
更新
因此警报可以正常工作,但POST调用收到以下内部服务器错误:
答案 0 :(得分:1)
首先,您需要更新ajax以使用成功或失败
$.ajax({
type: 'POST',
url: "/ApiBroker/AddApi",
data: datastring,
dataType: 'json',
success:
function(data){
//... put your logic here
},
error:
function(){ alert('error'); }
});
第二,您需要更新控制器操作以返回IHttpActionResult,您可以在其中指定响应消息。
如果你看这个