34824


ajaxの下記の部分がわかりません。

[code]

    'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value), true);
    
[/code]

### 全体

[code]

    <input type="text" name="name" size="15" /></label>
    
[/code]

[code]

    req.open('GET', 'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value), true);
    
[/code]

### 質問

?キー名=値&というJSの仕様のようですが、

[code]

    'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value)
    
[/code]

第二引数(文字列)  
?キー名=値  
name="name"  
属性名=属性の値  
という対応をしているという事でよいでしょうか？


CC BY-SA 3.0
2017-05-19T03:21:55.060
34823
2017-05-19T04:44:58.390
2017-05-19T04:44:58.390
19110
question
javascript
?キー名=値の部分が難しいです


> 属性名=属性の値 という対応をしているという事でよいでしょうか？

はい、その通りです。  
値のセットを二つ渡したい時は  
?name1=value&name2=value2  
となります

ただしこれはJSの仕様ではなくURIの仕様です。(RFC URI仕様に基づいたW3C規格)  
<https://en.wikipedia.org/wiki/Query_string>  
(日本語版のwikipediaページが見当たりませんでした・・・)

encodeURIComponent()の部分はURI Encodingというものを行っております。  
例えば値に"/"が入ってきたときはURLの一部として認識してしまうため"%2f"という文字列に変換されます。


CC BY-SA 3.0
2017-05-19T03:59:00.583
34824
2017-05-19T03:59:00.583
19716
34823
answer