gpt4 book ai didi

.Net MVC4 - 如何以 json 格式返回异常?

转载 作者:行者123 更新时间:2023-12-04 04:56:16 25 4
gpt4 key购买 nike

我有一个 MVC4 应用程序,我在其中使用 jQuery 从 javascript 调用 Controller 操作。当 Controller 中发生异常时,返回的响应文本为 HTML 格式。我希望它采用 JSON 格式。如何做到这一点?

我认为一些 JSON 格式化程序应该自己发挥作用......

JavaScript

// Call server to load web service methods
$.get("/Pws/LoadService/", data, function (result) {
// Do stuff here
}, "json")
.error(function (error) { alert("error: " + JSON.stringify(error)) });

.Net Controller 操作
[HttpGet]
public JsonResult LoadService(string serviceEndpoint)
{
// do stuff that throws exception

return Json(serviceModel, JsonRequestBehavior.AllowGet);
}

最佳答案

实际上,您将在错误函数中跟踪的错误与请求有关,而不是应用程序的错误

所以我会在 Json 结果中传递错误详细信息,类似这样:

try {
//....
return Json(new {hasError=false, data=serviceModel}, JsonRequestBehavior.AllowGet);
}
catch(Exception e) {
return Json(new {hasError=true, data=e.Message}, JsonRequestBehavior.AllowGet);
}

而在客户端,你可以处理这样的事情:
$.get("/Pws/LoadService/", data, function (result) {

var resultData = result.d;
if(resultData.hasError == true) {
//Handle error as you have the error's message in resultData.data
}
else {
//Process with the data in resultData.data
}
}, "json") ...

关于.Net MVC4 - 如何以 json 格式返回异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16709425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com