Javascript URI 解码未按预期执行

Javascript URI decode not performing as expected

我正在使用以下 javascript 方法解码 URL。

decodeURIComponent();

在浏览器中输入编码版本时,它会显示预期的图像。使用上面的decode函数后,新的URL不显示图片

如何正确解码?

URL是:

编码:

"https://external.xx.fbcdn.net/safe_image.php?d=AQB9-zMODCId1OZa&w=128&h=128&url=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhprofile-xpa1%2Fv%2Ft1.0-1%2Fp200x200%2F12289537_1025015047521253_6948708859100232371_n.png%3Foh%3Dd4b09489497f8705ca75467bd6af54e9%26oe%3D578DF677&upscale=1&ext=jpg"

解码:

"https://external.xx.fbcdn.net/safe_image.php?d=AQB9-zMODCId1OZa&w=128&h=128&url=https://scontent.xx.fbcdn.net/hprofile-xpa1/v/t1.0-1/p200x200/12289537_1025015047521253_6948708859100232371_n.png?oh=d4b09489497f8705ca75467bd6af54e9&oe=578DF677&upscale=1&ext=jpg"

decodeURIComponent() 函数没有按照您期望的方式解码您的 URI,因为它实际上只适用于以前使用 encodeURIComponent().

编码的字符串

相反,您想使用 decodeURI()

var url = 'https://external.xx.fbcdn.net/safe_image.php?d=AQB9-zMODCId1OZa&w=128&h=128&url=https%3A%2F%2Fscontent.xx.fbcdn.net%2Fhprofile-xpa1%2Fv%2Ft1.0-1%2Fp200x200%2F12289537_1025015047521253_6948708859100232371_n.png%3Foh%3Dd4b09489497f8705ca75467bd6af54e9%26oe%3D578DF677&upscale=1&ext=jpg';
var decoded = decodeURI(url);
document.write(decoded);