2010-09-27 3 views
35

Как я могу декодировать URL-адрес с помощью jQuery? Мой URL являетсяКак я могу декодировать URL-адрес с помощью jQuery?

HTTP% 3A% 2F% 2Fdtzhqpwfdzscm.cloudfront.net% 2F4ca06373624db.jpg

+0

Там нет никакого способа сделать это с помощью JQuery, потому что все браузеры реализовать decodeURIComponent функция для Javascript, как объясняет Дарин ниже: подумайте о замене тега jquery w/"javascript"? –

ответ

82

Попробуйте decodeURIComponent функцию:

var decodedUri = decodeURIComponent('http%3A%2F%2Fdtzhqpwfdzscm.cloudfront.net%2F4ca06373624db.jpg'); 
alert(decodedUri); 
+14

Но это не использует jQuery (и, пожалуйста, не связывайтесь с W3Schools, они хорошо разбираются в SEO и плохо разбираются в правильной информации)! – Quentin

+0

@David, так не использует функцию 'decodeURIComponent' правильный подход? –

+0

Это должен быть правильный подход, но ссылка W3School действительно должна идти. Ник связан с статьей MDC, которая должна быть лучше –

1
decodeURIComponent('http%3A%2F%2Fdtzhqpwfdzscm.cloudfront.net%2F4ca06373624db.jpg') 
9

Использование decodeURIComponent(), например, :

decodeURIComponent("http%3A%2F%2Fdtzhqpwfdzscm.cloudfront.net%2F4ca06373624db.jpg") 

Это не специфичный jQuery, это базовая функция JavaScript.

7

Вы можете просто вызвать стандартные функции javascript для кодирования и декодирования соответственно.

encodeURIComponent 
decodeURIComponent 

Наслаждайтесь!

2

Если URL должен также содержать пробелы, закодированные как «+», следующий вызов будет помощь (из https://stackoverflow.com/a/4458580/430742):

decodeURIComponent((str+'').replace(/\+/g, '%20')) 
Смежные вопросы