gpt4 book ai didi

jquery - HttpHeader UTF 编码

转载 作者:行者123 更新时间:2023-12-01 06:40:00 25 4
gpt4 key购买 nike

我需要在 Http header 中存储不同语言的消息:

响应 header

Cache-Control   private
Content-Type text/html; charset=utf-8
Server Microsoft-IIS/7.5
X-AspNetMvc-Version 3.0
X-Message-Type Success
X-Message <p>Token wysÅany</p>
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
Date Wed, 18 May 2011 12:49:26 GMT
Content-Length 2

但是,正如您所看到的,X-Message 失去了格式。它应该是“Token wysłany”。帮助。谢谢

编辑:这就是我所拥有的:

        if (filterContext.HttpContext.Request.IsAjaxRequest())
{
var viewData = filterContext.Controller.ViewData;
var response = filterContext.HttpContext.Response;

foreach (var messageType in Enum.GetNames(typeof(MessageType)))
{
var message = viewData.ContainsKey(messageType)
? (ErrorMessageExtensions.ErrorMessage)viewData[messageType]
: null;
if (message != null) // We store only one message in the http header. First message that comes wins.
{
response.AddHeader("X-Message-Type", messageType);
response.AddHeader("X-Message", message.RenderAjax());
return;
}
}
}

我正在尝试将消息传递集成到我的 mvc 应用程序中(如下所示):http://blogs.taiga.nl/martijn/2011/05/03/keep-your-users-informed-with-asp-net-mvc/唯一的问题是它需要支持多语言。还有哪些其他选项(或针对支持其他语言字符的解决方案的修复)?谢谢

最佳答案

我在 Martijn Boland 的这个消息传递项目中遇到了同样的问题。就我而言,我需要在巴西葡萄牙语中使用的重音字符:é á í ó ã õ 等...

我这样做是为了解决问题:

response.AddHeader("X-Message", HttpUtility.HtmlEncode(message.ToString()));

然后在显示消息的 View 页面 (.cshtml) 中:

function displayMessage(message, messageType)
{
$("#messagewrapper").html('<div class="messagebox ' + messageType.toLowerCase() + '"></div>');

$("#messagewrapper .messagebox").html(message);

displayMessages();
}

看到我改变了

$("#messagewrapper .messagebox").text(message);

$("#messagewrapper .messagebox").html(message);

那是因为现在我们得到 entity numbers ( HTML 标记)而不是纯文本。

这样做,您将不需要您在答案中提到的额外的decode-jquery-plugin。

关于jquery - HttpHeader UTF 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045005/

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