如何返回带有错误消息的json [英] How do I return json with error message
本文介绍了如何返回带有错误消息的json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我正在使用ajax通过ID调用详细信息模型.但是,如果模型返回数据为null,我想显示一条消息.我该怎么办?
我的代码ajax 以显示详细信息模型
$('#PGId').blur(function () {
var errormsg = "";
var id = $('#PGId').val();
$.ajax({
type: "GET",
url: '@Url.Action("GetDetailPG", "TimeSheetHeader")',
data: { pgId: id },
dataType: "json",
success: function (data) {
success: function (data) {
if (data.isValid) {
$("#FullName").text(data.FisrtName + " " + data.LastName)
$('.Shiff[value="' + data.ShiffId + '"]').prop('checked', true)
}
else {
alert(data.error);
}
},
},
error: function () {
}
});
})
我的控制器绑定数据
[HttpGet]
public ActionResult GetDetailPG(string pgId)
{
PGProfileViewModel pgProfileModel = new PGProfileViewModel();
pgProfileModel.PGId = pgId;
var query = _pgProfileService.GetPGProfileById(pgProfileModel.PGId);
var model = query.ToViewModel();
if (model == null)
{
return Json(new {isValid = false, error = "Error Message"}, JsonRequestBehavior.AllowGet);
}
else
{
model.LastName = query.LastName.Trim();
model.FisrtName = query.FisrtName.Trim();
model.ShiffId = query.ShiffId;
return Json(new { model = model , isValid = true }, JsonRequestBehavior.AllowGet);
}
}
解决方案
如果返回json
对象(作为业务模型错误),则javascript data
值(具有请求结果)将永远不会为空. /p>
您可以尝试这样的方法:
C#
[HttpGet]
public ActionResult GetDetailPG(string pgId)
{
PGProfileViewModel pgProfileModel = new PGProfileViewModel();
pgProfileModel.PGId = pgId;
var query = _pgProfileService.GetPGProfileById(pgProfileModel.PGId);
var model = query.ToViewModel();
if (model == null)
{
return Json({
isValid: false,
error: "Your error message"
}, JsonRequestBehavior.AllowGet);
}
else
{
model.LastName = query.LastName.Trim();
model.FisrtName = query.FisrtName.Trim();
model.ShiffId = query.ShiffId;
return Json({
model: model,
isValid: true
}, JsonRequestBehavior.AllowGet);
}
}
JS
//success function of your ajax request.
success: function (data) {
if (data.isValid) {
$("#FullName").text(data.FisrtName + " " + data.LastName)
$('.Shiff[value="' + data.ShiffId + '"]').prop('checked', true)
}
else {
alert(data.error);
}
}
Hi all I'm using ajax to call detail model by Id. But I want to display a message if model return data is null. How do I ?
my code ajax to display details model
$('#PGId').blur(function () {
var errormsg = "";
var id = $('#PGId').val();
$.ajax({
type: "GET",
url: '@Url.Action("GetDetailPG", "TimeSheetHeader")',
data: { pgId: id },
dataType: "json",
success: function (data) {
success: function (data) {
if (data.isValid) {
$("#FullName").text(data.FisrtName + " " + data.LastName)
$('.Shiff[value="' + data.ShiffId + '"]').prop('checked', true)
}
else {
alert(data.error);
}
},
},
error: function () {
}
});
})
my controller to bind data
[HttpGet]
public ActionResult GetDetailPG(string pgId)
{
PGProfileViewModel pgProfileModel = new PGProfileViewModel();
pgProfileModel.PGId = pgId;
var query = _pgProfileService.GetPGProfileById(pgProfileModel.PGId);
var model = query.ToViewModel();
if (model == null)
{
return Json(new {isValid = false, error = "Error Message"}, JsonRequestBehavior.AllowGet);
}
else
{
model.LastName = query.LastName.Trim();
model.FisrtName = query.FisrtName.Trim();
model.ShiffId = query.ShiffId;
return Json(new { model = model , isValid = true }, JsonRequestBehavior.AllowGet);
}
}
解决方案
If you returns a json
object (as business model error) the javascript data
value (which has the request result) will never be null.
You can try an approach like this:
C#
[HttpGet]
public ActionResult GetDetailPG(string pgId)
{
PGProfileViewModel pgProfileModel = new PGProfileViewModel();
pgProfileModel.PGId = pgId;
var query = _pgProfileService.GetPGProfileById(pgProfileModel.PGId);
var model = query.ToViewModel();
if (model == null)
{
return Json({
isValid: false,
error: "Your error message"
}, JsonRequestBehavior.AllowGet);
}
else
{
model.LastName = query.LastName.Trim();
model.FisrtName = query.FisrtName.Trim();
model.ShiffId = query.ShiffId;
return Json({
model: model,
isValid: true
}, JsonRequestBehavior.AllowGet);
}
}
JS
//success function of your ajax request.
success: function (data) {
if (data.isValid) {
$("#FullName").text(data.FisrtName + " " + data.LastName)
$('.Shiff[value="' + data.ShiffId + '"]').prop('checked', true)
}
else {
alert(data.error);
}
}
这篇关于如何返回带有错误消息的json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文