URL内で特別な意味を持つ「; , / ? : @ & = + $ #」の扱いが違います。 encodeURI エンコードされない encodeURIComponent エンコードされる ですので、URL全体をエンコードする場合はencodeURIで、パラメータなどの部分的な文字列をエンコードする場合はencodeURIComponentを使用しましょう。 ありそうな失敗 例えばhttp://api/user?name=XXXのXXX部分にユーザ名「山田=太郎」を指定する場合 ユーザ名を設定したURLを作成する http://api/user?name=山田=太郎 encodeURIする http://api/user?name=%E5%B1%B1%E7%94%B0=%E5%A4%AA%E9%83%8E 受け取った側がdecodeURIする http://api/user?name=山田=