gpt4 book ai didi

javascript - ajax aspx 脚本参数波兰语(特殊)字符

转载 作者:行者123 更新时间:2023-11-30 05:52:39 25 4
gpt4 key购买 nike

我正在使用 ajax 调用 aspx 服务器端脚本来发送电子邮件。这是我的 ajax 发送函数:

//global variables-------------------------------------------------------
var html_dir = "/Html/"
var net_dir = "/Net/"
//ajax request-----------------------------------------------------------
function ajaxRequest(url, cfunc, asynch)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
if (window.XMLHttpRequest)
{
response = new XMLHttpRequest();
}
// code for IE6, IE5
else
{
response = new ActiveXObject("Microsoft.XMLHTTP");
}

//send request
response.onreadystatechange = cfunc;
response.open("GET", url, asynch);
response.send();
}
//-----------------------------------------------------------------------

这就是我运行这个函数的方式:

ajaxRequest(net_dir + "SendForm.aspx?emailBody=" + emailBody, formSent, true);

它工作正常,但我对波兰语字符(łńóąę 等)有疑问。在电子邮件和 SendForm.aspx 脚本(调试时)中,有一些奇怪的字符而不是波兰字母。我该如何解决?

最佳答案

您很可能需要 percent-encode emailBody 参数:

ajaxRequest(net_dir + "SendForm.aspx?emailBody=" + encodeURIComponent(emailBody), formSent, true);

然后就是

encodeURIComponent("łńóąę") === "%C5%82%C5%84%C3%B3%C4%85%C4%99"

在 url 中使用哪个是安全的。

在服务器端,如果没有自动完成,则需要对其进行解码:

string emailBody = HttpUtility.UrlDecode( Request.QueryString["emailBody"], 
Encoding.UTF8 );
//Javascript's encodeURIComponent is always UTF8

关于javascript - ajax aspx 脚本参数波兰语(特殊)字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760618/

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