我有一个带有查询字符串的 url,通过它传递一些数据。我想在服务器端检索数据。这个问题的解决方案是什么
3 回答
您可以使用 javascript 的转义函数对 URL 进行编码。
Example :
escape("It's me!") // result: It%27s%20me%21
使用 Uri.UnescapeDataString() 函数在 C# 中进行 URL 解码。
Example :
s = "%46%69%67%68%74%20%74%68%65%20%70%6F%77";
Uri.UnescapeDataString(s);
编辑 - - - - - - - - - - - - -
要在 C# 中解析查询参数,请使用
NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
希望这会有所帮助。
谢谢!
侯赛因
您可以使用转义 ( http://www.w3schools.com/jsref/jsref_escape.asp ) 或 encodeURI ( http://www.w3schools.com/jsref/jsref_encodeuri.asp ) 在 Javascript 端进行编码。
在服务器端:对于 C# - 使用 System.Web.HttpUtility.UrlDecode 解码 ( http://msdn.microsoft.com/en-us/library/adwtk1fy.aspx ) 对于 Java - 使用 URLDecoder 解码 ( http:// download.oracle.com/javase/1.5.0/docs/api/java/net/URLDecoder.html ) 对于 PHP - 使用 urldecode ( http://php.net/manual/en/function.urldecode.php )
- Javascript unescape(_stringEncoded)与C# 中的HttpUtility.UrlDecode( _string)相同
- Javascript转义(_setringDecoded)与C# 中的HttpUtility.UrlEncode( _string)相同
javascript 编码
escape('raj kumar') //raj%20kumar
C# 解码
HttpUtility.UrlDecode("raj%20kumar") //raj kumar