本文将详细讲解ASP.NET MVC中如何使用AJAX调用JsonResult方法,并能够处理自定义的错误信息。
1. 准备工作
在开始本次教程之前,本文默认您已经了解了ASP.NET MVC以及AJAX的基础知识,因为本文不会介绍这些基础知识。
2. 配置Controller
首先,我们需要在Controller中添加一个JsonResult的方法,该方法返回一个JSON格式的结果。以下是一个示例代码:
public JsonResult GetData(int id)
{
try
{
// 在这里实现获取数据的逻辑
var data = new { Name = "Tom", Age = 18 };
return Json(data, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
// 处理异常
return Json(new { error = ex.Message });
}
}
在上面的方法中,我们首先尝试获取数据,如果出现异常,我们会返回一个包含错误信息的JSON结果。
3. 前端代码
下面是一个简单的HTML页面,其中包含了一个按钮和一个div用于显示结果:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>AJAX调用JsonResult方法</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("#btnGetData").click(function () {
$.ajax({
url: "/Home/GetData",
dataType: "json",
data: { id: 1 },
type: "GET",
success: function (data) {
$("#result").html("Name: " + data.Name + ", Age: " + data.Age);
},
error: function (xhr) {
var errorMsg = "未知错误";
if (xhr.responseText) {
try {
var result = JSON.parse(xhr.responseText);
errorMsg = result.error;
} catch (ex) {
}
}
$("#result").html(errorMsg);
}
});
});
});
</script>
</head>
<body>
<button id="btnGetData">获取数据</button>
<div id="result"></div>
</body>
</html>
在上面的代码中,我们使用$.ajax方法发送一个AJAX请求,请求的url为"/Home/GetData",方法为GET。如果请求成功,我们将显示返回的数据,否则我们将显示错误信息。
4. 测试
现在,我们可以运行我们的网站并测试一下。当我们点击"获取数据"按钮时,网页将发送一个AJAX请求。如果请求成功,我们将看到类似于"Name: Tom, Age: 18"这样的结果。如果请求失败,我们将看到一个错误消息,该消息来自于控制器中的JsonResult方法。
5. 自定义错误消息
如果您在实际开发中需要自定义错误消息,可以按照以下步骤:
- 在控制器中,当出现异常时,将异常信息存储在一个自定义的错误对象中,并将该对象作为JSON结果返回;
catch (Exception ex)
{
// 将错误信息存储到自定义的错误对象中
var error = new { message = "获取数据失败", details = ex.Message };
return Json(error);
}
- 在前端代码中,解析JSON响应并从中提取您需要的自定义错误消息;
error: function (xhr) {
var errorMsg = "未知错误";
if (xhr.responseText) {
try {
var result = JSON.parse(xhr.responseText);
errorMsg = result.message;
} catch (ex) {
}
}
$("#result").html(errorMsg);
}
这样,当出现异常时,我们将会看到类似于"获取数据失败"这样的自定义错误消息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息 - Python技术站