在 ajax 调用中返回未定义类型的数据
Returning undefined type of data on ajax call
我有一个 jquery 脚本,它 ajax 在我的 MVC 应用程序的控制器中调用我的操作:
$('#save').click(function () {
$.post(url, { id: id, text: textarea.val() }, function (data) {
if (data) {
row.children('td').eq(3).text(textarea.val());
row.children('td').eq(4).text('Da');
row.children('td').eq(5).hide();
$('#napomena').val('');
form.hide();
}
});
});
这是我的控制器:
public ActionResult PravdanjeIzostanaka(string id, string text)
{
var obj = db.Odsutnost.Find(Convert.ToInt32(id));
if(obj!=null && text.Trim()!="")
{
obj.Napomena = text;
obj.Opravdano = true;
db.SaveChanges();
return RedirectToAction("PregledIzostanaka");
}
return null; // what am I supposed to return here so that data type in ajax would be undefined??
}
如您所见,我正在检查 obj 对象和文本字段是否为 !=null 以及是否为空。如果不满足这两个要求,我想发出一点警报,基本上会说:"Text field is required!" 并将我的脚本修改为如下内容:
if (data!=="undefined") {
row.children('td').eq(3).text(textarea.val());
row.children('td').eq(4).text('Da');
row.children('td').eq(5).hide();
$('#napomena').val('');
form.hide();
}
else{
alert('Text field is required!');
}
所以我需要修改我的脚本和动作(动作应该 return 某些东西 ajax 会认为它是未定义的,以便我可以发出警报)...
有人可以帮我解决这个问题吗? :)
只是 return 一个 json 未定义的字符串。更像下面的:
public ActionResult PravdanjeIzostanaka(string id, string text)
{
var obj = db.Odsutnost.Find(Convert.ToInt32(id));
if(obj!=null && text.Trim()!="")
{
obj.Napomena = text;
obj.Opravdano = true;
db.SaveChanges();
return RedirectToAction("PregledIzostanaka");
}
return json("undefined");
}
我有一个 jquery 脚本,它 ajax 在我的 MVC 应用程序的控制器中调用我的操作:
$('#save').click(function () {
$.post(url, { id: id, text: textarea.val() }, function (data) {
if (data) {
row.children('td').eq(3).text(textarea.val());
row.children('td').eq(4).text('Da');
row.children('td').eq(5).hide();
$('#napomena').val('');
form.hide();
}
});
});
这是我的控制器:
public ActionResult PravdanjeIzostanaka(string id, string text)
{
var obj = db.Odsutnost.Find(Convert.ToInt32(id));
if(obj!=null && text.Trim()!="")
{
obj.Napomena = text;
obj.Opravdano = true;
db.SaveChanges();
return RedirectToAction("PregledIzostanaka");
}
return null; // what am I supposed to return here so that data type in ajax would be undefined??
}
如您所见,我正在检查 obj 对象和文本字段是否为 !=null 以及是否为空。如果不满足这两个要求,我想发出一点警报,基本上会说:"Text field is required!" 并将我的脚本修改为如下内容:
if (data!=="undefined") {
row.children('td').eq(3).text(textarea.val());
row.children('td').eq(4).text('Da');
row.children('td').eq(5).hide();
$('#napomena').val('');
form.hide();
}
else{
alert('Text field is required!');
}
所以我需要修改我的脚本和动作(动作应该 return 某些东西 ajax 会认为它是未定义的,以便我可以发出警报)...
有人可以帮我解决这个问题吗? :)
只是 return 一个 json 未定义的字符串。更像下面的:
public ActionResult PravdanjeIzostanaka(string id, string text)
{
var obj = db.Odsutnost.Find(Convert.ToInt32(id));
if(obj!=null && text.Trim()!="")
{
obj.Napomena = text;
obj.Opravdano = true;
db.SaveChanges();
return RedirectToAction("PregledIzostanaka");
}
return json("undefined");
}