将Controller中的Json返回到View中的警报

时间:2017-07-19 08:19:42

标签: jquery ajax asp.net-mvc

我经历了很多链接,但我认为我发现我的问题非常不同。从控制器返回Json但是它被警告,并且消息显示在空白窗口中。我只想提醒它。

我的AJAX:

<script>
    function confirm() {
        $.ajax({
            url: '/Form/tabledata',
            type: 'POST',

            data: $('#postForm').serialize(),
            dataType: 'json',
            success: function (data) {
                alert(data);

            },
            error: function (data) {
                alert(data);
              //  location.reload(true);
            }
        });
    }
</script>

我的控制器:

 [HttpPost]
    public JsonResult tabledata(IEnumerable<tabledata> data)
    {
        try
        {
            DataColumn[] dtcs = new DataColumn[5] {
            new DataColumn("menu_item_id", typeof(int)),
            new DataColumn("menu_item_name", typeof(string)),
            new DataColumn("menu_rate", typeof(string)),
            new DataColumn("qty", typeof(string)),
            new DataColumn("total", typeof(string))
            };
            var dt = new DataTable();
            dt.Columns.AddRange(dtcs);
            foreach (tabledata td in data)
            {
                object[] row = { td.menu_item_id, td.menu_item_name, td.rate, td.qty, td.total };
                dt.Rows.Add(row);
            }
            return Json("successful.");
        }
        catch (Exception)
        {
            return Json("Unsuccessful.",JsonRequestBehavior.AllowGet);
        }
    }

一旦收到提醒,点击“确定”后,我会在空白窗口中'成功'

1 个答案:

答案 0 :(得分:1)

我认为你需要在进行ajax调用之前添加event.preventDefault();,因为我认为你正在进行此函数调用的按钮/控件也会提交表单。