3

グーグルがPOSTパラメータをどのようにエンコードするのか興味があります。アプリケーションの1つで、次のアプローチを見つけました。たとえば、次のオブジェクトがあるとします。

selection={"ty":"mc","cl":{"loc_type":0,"si":9,"aps":false},"sr":[]}

POSTリクエストでは、次の形式を取ります。

 selection=%7B%22ty%22%3A%22mc%22%2C%22cl%22%3A%7B%22loc_type%22%3A0%2C%22si%22%3A9%2C%22aps%22%3Afalse%7D%2C%22sr%22%3A%5B%5D%7D

ここで適用される方法はどれですか?

4

4 に答える 4

1

encodeURIComponentおよびJSON.stringify関数を使用しても、同じ効果が得られます。

"selection=" + encodeURIComponent(JSON.stringify(selection))
于 2012-05-31T11:21:27.037 に答える
0

これはURLエンコードと呼ばれます。

非ASCII文字とURIスキームで特別な意味を持つ文字をASCII表現に置き換えます。印刷できない各文字は、その文字のASCIIテーブル内のインデックスとして書き込ま%xyれます。xy

すぐに使用できるプログラミング言語はたくさんあります。

  • JavaScriptでは、encodeURIComponent()またはencodeURI()関数を使用できます。

次のように簡単に呼び出すことができます。例:

var myjson = '{my:json}';
url_encoded_json = encodeURIComponent( myjson );
alert(url_encoded_json);

他の言語:

  • PHPにはrawurlencode()関数があります。
  • ASPにはServer.URLEncode()関数があります。
  • Pythonにはurllib.urlencode()関数があります。
  • Javaにはjava.net.URI(url).toASCIIString()関数があります
于 2012-05-31T11:16:16.643 に答える
0

それは単にURLエンコーディングです

組み込み関数encodeURIComponent(str)とencodeURI(str)を確認してください

于 2012-05-31T11:19:12.493 に答える
0

javascriptのメソッドはencodeURIComponent()writeと呼ばれます

alert(encodeURIComponent('{"ty":"mc","cl":{"loc_type":0,"si":9,"aps":false},"sr":[]}'));
于 2012-05-31T11:20:58.710 に答える