Мне нравится способ jQuery $.ajax() позволяет указать URL-адрес запроса:
{
url: 'http://domain.com/?param=1',
data{
param2: '2'
}
}
$. Метод ajax() будет (возможно) вызывать $.param() на предоставленные данные и необязательно добавлять его к указанному URL.
Мой вопрос: этот тип манипуляций с URL-адресами доступен за пределами вызова $.ajax()?
Например, я хочу открыть всплывающее окно, и я хотел бы создать URL-адрес таким же образом, как и с $.ajax().
Я написал функцию, которая делает это, но у меня есть чувство, что я изобретаю колесо и дублирую уже существующую функцию jQuery:
var prepareUrl = function( url, data )
{
var params = $.param( data );
if ( params.length > 0 )
{
// url contains a query string
if ( url.indexOf( '?' ) > -1 )
{
// get last char of url
var lastChar = url.substr( url.length - 1 );
// Append & to the end of url if required
if ( lastChar != '&' && lastChar != '?' )
{
url += '&';
}
}
else // url doesn't contain a query string
{
url += '?';
}
url += params;
}
return url;
}
спасибо!