【发布时间】:2015-04-22 04:06:53
【问题描述】:
我喜欢 jQuery 的 $.ajax() 方法允许指定请求 url 的方式:
{
url: 'http://domain.com/?param=1',
data{
param2: '2'
}
}
$.ajax() 方法将(可能)对提供的数据调用 $.param() 并可选择将其附加到提供的 URL。
我的问题是:这种类型的 url 操作在 $.ajax() 调用之外是否可用?
例如,我想打开一个弹出窗口,我想以与 $.ajax() 相同的方式构造 URL。
我已经编写了一个函数来执行此操作,但我感觉我正在重新发明轮子并复制已经存在的 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;
}
谢谢!
【问题讨论】:
标签: javascript jquery ajax url param