我正在尝试从服务器返回响应消息:
return new HttpStatusCodeResult(406, "bla bla")
然后显示:
.error(function (response) {
$(elem).after("<b class=\"notif-msg\">" + response.statusText + "</b>");
它工作正常,直到我尝试发送超过“bla bla”并且我的消息不再显示;相反,我收到一些消息说“错误”。
如何突破这个限制?
您需要对字符串进行编码,并确保编码版本不超过大小限制。
如果您使用.net 4,您可以使用 HttpUtility.JavaScriptStringEncode
假设您收到的错误是“参数超出范围”,那么我相信这个问题的答案已在 ASP.NET MVC3 HttpStatusCodeResult StatusDescription - 指定参数超出有效值范围
中提供public ActionResult MyFunction()
{
Response.StatusCode = 500;
return new ContentResult()
{
Content = "My message",
ContentEncoding = System.Text.Encoding.UTF8
};
}
还有阿贾克斯:
$.ajax({
url: '@Url.Action("MyFunction", "MyController")',
type: 'POST',
dataType: 'json',
data: { },
error: function (error)
{
alert(error.responseText);
},
success: function () {}
});