Какая утилита для улучшения URL-адреса JavaScript? Кодирование было бы неплохо и хорошо работать с jQuery - дополнительный бонус.Функция JavaScript-декодирования JavaScript
ответ
Я использовал encodeURIComponent() и decodeURIComponent() тоже.
спасибо, ребята! выглядит правильным ответом, но Гумбо ответил на это первым. Я чувствую, что он заслуживает кредита. –
Это неполный ответ. См. Реализацию urlDecode() ниже by @anshuman. –
Хороший, но он не удалял знаки «+». Ответ @ anshuman работал лучше всего для меня – MusikAnimal
Вот полная функция (из PHPJS):
function urldecode(str) {
return decodeURIComponent((str+'').replace(/\+/g, '%20'));
}
+1: это истинный urldecode, обрабатывает случай пространства, кодируемого как +, большое спасибо – SinistraD
Это то, что я необходимо было использовать, когда данные были закодированы с помощью функции urlencode() PHP. –
Супер полезный для меня и взял наносекунду для реализации. Благодаря! –
decodeURIComponent(mystring);
вы можете получить прошли параметры, используя этот бит кода:
//parse URL to get values: var i = getUrlVars()["i"];
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
Или это один вкладыш к получить параметры:
location.search.split("your_parameter=")[1]
Вместо этого вы должны использовать 'window.location.search'. – aloisdg
//How decodeURIComponent Works
function proURIDecoder(val)
{
val=val.replace(/\+/g, '%20');
var str=val.split("%");
var cval=str[0];
for (var i=1;i<str.length;i++)
{
cval+=String.fromCharCode(parseInt(str[i].substring(0,2),16))+str[i].substring(2);
}
return cval;
}
document.write(proURIDecoder(window.location.href));
Спасибо, это сработало для меня. decodeURIComponent не работал для меня (последовательность Malformed URI). – Smile4ever
Используйте этот
unescape(str);
Я не большой JS программист, испробовали все, и это работало потрясающе!
Прохладный ответ, но выглядит как [устаревший] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Functions?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FFunctions#escape_and_unescape_functions (Obsoleted_above_JavaScript_1.5)) в пользу 'decodeURIComponent()' из-за плохой поддержки символов, отличных от ASCII. –
Если вы несете ответственность за кодирование данных на PHP с использованием urlencode, то rawurlencode PHP работает с JavaScript-декодеромURIComponent без необходимости замены символа +.
Вот что я использовал:
В JavaScript:
var url = "http://www.mynewsfeed.com/articles/index.php?id=17";
var encoded_url = encodeURIComponent(url);
var decoded_url = decodeURIComponent(encoded_url);
В PHP:
$url = "http://www.mynewsfeed.com/articles/index.php?id=17";
$encoded_url = url_encode(url);
$decoded_url = url_decode($encoded_url);
Вы также можете попробовать его в Интернете здесь: http://www.mynewsfeed.x10.mx/articles/index.php?id=17
ли вы проверяете 'encod eURIComponent' и 'decodeURIComponent'? – Gumbo
это действительно то же самое? –
@at: То же самое, что и что? – Gumbo