2016-10-24 25 views
0

私は、POST HTTPフォームリクエストにクエリ文字列を書き込む方法について疑問を抱いていました(GETフォームリクエストの場合にも問題が発生すると思います)。私は、例えばお持ちの場合クエリ文字列スペース

が値「英語(米国)」の形で仮説ログにクエリ文字列は、(例えば)次のようになります:

username=value1&password=&language=English (US) 

I 私は例を作るつもりです平均は言語=英語(US)で、スペースは内部で正しいでしょうか?

もう1つ質問があります。 「パスワード」を使用する必要があるため、この「パスワード= &」のようにクエリ文字列が送信されますか?または、「password =」と「&」の間に何かを書く必要がありますか?

答えて

0

POSTでQuery string paramsを使用する理由がわかりません。通常は、ポストボディにすべての値を含めるだけです。また、クエリパラメータとして資格情報を送信することはお勧めできません。より安全なオプションがない場合は、HTTP AUTHヘッダーを使用することをお勧めします。

JavaScript encodeURIComponent()関数を使用すると、スペースが正しくエンコードされます。

GETでjQuery $ .ajax()呼び出しを使用し、その値を 'data'オプションとして指定すると、jQueryはencodeURIComponentを呼び出します。

+0

ありがとうございます。しかし、私は試験のためにいくつかの運動をするために、手で書いています。残念ながら私は手で書くことを義務づけられ、コンピュータを使わないので、それを正しく書く方法を尋ねていたのです。 –

+0

スペースを%20に置き換えてください –

+0

ありがとう! "password =&"はどうですか?ブラウザは何を書いているのかを読み取ることができないので、パスワードを含むクエリ文字列はどのように作成されますか? –