【发布时间】:2013-08-17 15:08:12
【问题描述】:
此代码使用 Microsoft Web Api Http 堆栈和 jQuery。
如何获取自定义错误消息,由 CreateErrorResponse() 的 HttpError 参数创建,由 jQuery 的 deferred.fail() 显示>?
在 ApiController 中为测试目的创建错误响应的示例:
public HttpResponseMessage Post(Region region)
{
var error = new HttpError("Failure to lunch.");
return this.Request.CreateErrorResponse(
HttpStatusCode.InternalServerError,
error);
}
这是一个精简的客户端,它试图找到要显示的错误消息“午餐失败”。
$.ajax({
type: 'POST',
url: 'api/region',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(region)
})
.fail(function (jqXhr, textStatus, errorThrown) {
alert(textStatus + ": " + errorThrown + ": " + jqXhr.responseText);
});
将显示的是:
“错误:内部服务器错误:{此处为完整堆栈}”
我想要的是:
“没吃午饭。”
【问题讨论】:
-
你的意思是“启动失败”而不是午餐
-
@KevinHolditch 我饿了!
-
所以我现在已经阅读了你的问题:)
标签: c# jquery asp.net-web-api httpresponse jqxhr