asp.net中$.post数据的编码问题

kaihuababy 2010-01-29 03:32:50
下列是获取$.Post方法[Data]数据的服务器代码。$.Post方法[Data]值是:{subject:"你们好",typeid:1234} 而服务器得到的builder.ToString()的结果是:"subject=%E4%BD%A0%E4%BB%AC%E5%A5%BD&typeid=1234",请问如何转换或有何设置。谢谢!

protected void Page_Load(object sender, EventArgs e)
{
Response.Write(GetInput());
}
private string GetInput()
{
try
{
System.IO.Stream s = Request.InputStream;

int count = 0;

byte[] buffer = new byte[1024];

StringBuilder builder = new StringBuilder();

while ((count = s.Read(buffer, 0, 1024)) > 0)
{
builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
}

return builder.ToString();
}

catch (Exception ex)
{
throw ex;
}
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaihuababy 2010-01-29
  • 打赏
  • 举报
回复
谢谢大家了.
vip__888 2010-01-29
  • 打赏
  • 举报
回复
直接获取不就行了
Request.QueryString["id"]
Request.Form["id"]
slimboy123 2010-01-29
  • 打赏
  • 举报
回复
把 Encoding.UTF8.GetString 换成 Encoding.GetEncoding("GBK").GetString 试试,要保证POST请求端和接收的编码要一致
jenny0810 2010-01-29
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zengzhan 的回复:]
看他是什么编码 unescape,decodeURI,decodeURIComponent

[/Quote]up
leefwu 2010-01-29
  • 打赏
  • 举报
回复
传送过来的[Data] 已经 URL 编码过了,
服务端获取的时候使用 Request.Form["参数名"] 或者 Request.QueryString["参数名"]
就可以了。
因为 Request.Form 和 Request.QueryString 获取数据默认都会先对数据做 URL 解码,所以没有影响。
qqzeng-ip 2010-01-29
  • 打赏
  • 举报
回复
看他是什么编码 unescape,decodeURI,decodeURIComponent
watsonchia 2010-01-29
  • 打赏
  • 举报
回复
其实你用request.form["subject"]就可以得到相应的值了,不用streamreader来读
jizhikuan 2010-01-29
  • 打赏
  • 举报
回复
HttpUtility.UrlDecode("%E4%BD%A0%E4%BB%AC%E5%A5%BD");

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧