jquery – Controller可以根据结果返回JSON或HTML

前端之家收集整理的这篇文章主要介绍了jquery – Controller可以根据结果返回JSON或HTML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个包含表单的弹出窗口.我必须有一个处理表单的控制器,根据结果,该控制器返回 JSON(如果一切顺利,弹出可以通过javascript关闭)或HTML(如果表单数据无效且表单必须被替换)使用新的html – 带有验证错误消息).
所以我找到了这样一个解决方案:形式如下:
<form id="message" ...>
    ...
</form>

我有这个表单的jquery处理程序:

$(document).on("submit","form#message",function (evt) {
    evt.preventDefault();
    $.ajax({
        type: this.method,url: this.action,data: $(this).serialize(),success: function (result) {
            if ($.isPlainObject(result)) {
                // this is JSON
                // close the pop-up window
            } else {
                // this is HTML
                $("form#message").html(result);
            }
        }
    });
});

控制器:

[HttpPost]
public ActionResult UpdateMessage(MessageModel model)
{
    ...
    if (.. is valided ..)
        return Json(new { success = "OK" });
    else
        return View(model);
}

问题 – 这些任务有更优雅的解决方案吗?

解决方法

恕我直言这是一个非常好的解决这个问题的方法,我肯定会使用它.

猜你在找的jQuery相关文章