0

使用 jQuery 表单插件将表单提交到 MVC 框架中的操作。在操作中,如果表单验证失败,则应将回复发送回客户端。jQuery 表单插件带有错误和成功回调(与任何其他 jQuery Ajax 函数一样)。返回带有错误代码 400(错误请求)的 HTTP 异常并在错误回调中捕获它而不是返回成功的 HTTP 响应并在成功回调中捕获它不是更好的做法吗?

如果答案是肯定的,那么将数据附加到 HTTP Exception 是否更具描述性?从我现在看到的,HTTPException.Data是只读的。其中一个构造函数似乎完成了这项工作(HttpException(SerializationInfo, StreamingContext)),但我无法理解它。有人可以为我解释一下如何向 HTTP Exception 添加数据吗?

4

1 回答 1

0

不,即使您确实设法将消息附加到 HTTPException,也不要简单地返回错误代码。

为什么?好吧,那样你会丢失很多信息。您可以选择返回任意 JSON 对象,其中可能包括(例如)所有验证错误的列表(或者实际上,任何可能帮助调用客户端的相关信息),然后您在客户端上呈现该对象,以便用户能够更正。

此外,您必须考虑呼叫成功时会发生什么。200 返回码真的足以满足您的目的吗?

于 2012-10-02T08:31:06.980 回答