我有一个 jquery 脚本,它在 MVC 应用程序的 Controller 内对我的操作进行 ajax 调用:
$('#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();
}
});
});
这是我的 Controller :
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 以及是否为空。如果这两个要求没有得到满足,我想发出一点警报,基本上会说:“文本字段是必需的!”并将我的脚本修改为如下所示:
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!');
}
所以我需要修改我的脚本和操作(操作应该返回ajax将其视为未定义的内容,以便我可以发出警报)...
有人可以帮我解决这个问题吗? :)
最佳答案
仅返回一个未定义的 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");
}
关于javascript - ajax 调用返回未定义类型的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35458521/