質問: ajaxの下記の部分がわかりません。 ``` 'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value), true); ``` ### 全体 ``` ``` ``` req.open('GET', 'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value), true); ``` ### 質問 ?キー名=値&というJSの仕様のようですが、 ``` 'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value) ``` 第二引数(文字列) ?キー名=値 name="name" 属性名=属性の値 という対応をしているという事でよいでしょうか?
回答: > > 属性名=属性の値 という対応をしているという事でよいでしょうか? > > > はい、その通りです。 値のセットを二つ渡したい時は ?name1=value&name2=value2 となります ただしこれはJSの仕様ではなくURIの仕様です。(RFC URI仕様に基づいたW3C規格) (日本語版のwikipediaページが見当たりませんでした・・・) encodeURIComponent()の部分はURI Encodingというものを行っております。 例えば値に"/"が入ってきたときはURLの一部として認識してしまうため"%2f"という文字列に変換されます。