我经历了很多链接,但我认为我发现我的问题非常不同。从控制器返回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);
}
}
一旦收到提醒,点击“确定”后,我会在空白窗口中'成功'。
答案 0 :(得分:1)
我认为你需要在进行ajax调用之前添加event.preventDefault();
,因为我认为你正在进行此函数调用的按钮/控件也会提交表单。