一部のデータが渡されるクエリ文字列を含むURLがあります。サーバー側でデータを取得したい。この問題の解決策は何ですか
3 に答える
javascriptのescape関数を使用して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)と同じです。
- C#のHttpUtility.UrlEncode( _string)と同じJavascriptエスケープ(_setringDecoded)
javascriptエンコード
escape('raj kumar') //raj%20kumar
C#デコード
HttpUtility.UrlDecode("raj%20kumar") //raj kumar