この広告は、90日以上更新していないブログに表示しています。
js> decodeURIComponent('+')+js> encodeURIComponent(' ')%20
'+'が' 'にデコードされないし,' 'は%20にエンコードされる.
直接使っていればわかるんだけども,ライブラリ(prototype.js)経由だとわかりにくい.
var ajax =new Ajax.Request(url,{method:'get', parameters:'foo+bar', onSuccess: success});
parametersにはエンコードされたクエリ文字列を入れるという仕様なのだが,そのままparameterをくっつけてGETしているのかと思ったらdecodeURIComponentしてencodeURIComponentしていたので'foo bar'ではなく'foo+bar'でGETしていた.
引用をストックしました
引用するにはまずログインしてください
引用をストックできませんでした。再度お試しください
限定公開記事のため引用できません。