在ajax调用上返回未定义的数据类型

时间:2016-02-17 13:49:25

标签: javascript jquery ajax asp.net-mvc-4 actionresult

我有一个jquery脚本,它在我的MVC应用程序中对控制器内部执行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();
        }
    });
});

这是我的控制者:

  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!');
}

所以我需要修改我的脚本和Action(操作应该返回ajax会将其视为未定义的内容,以便我可以发出警报)...

有人可以帮我解决这个问题吗? :)

1 个答案:

答案 0 :(得分:1)

只返回未定义的json字符串。更像是下面的内容:

select get_post_thumbnail(wp_posts.ID) as "thumbnail_url" from wp_posts where wp_posts.ID = 1