我有一个由服务器生成的 URL。在客户端中,我不知道 URL 是 :http://url/parameter
还是http://url/parameter?anotherPar=1
.
此值可用于 javascript 变量:
var theUrl = '{someURLgeneratedByTheServer}';
我想使用window.location.href
传递一些参数,但我不能这样做:
window.location.href = theUrl + '?someClientGeneratedParameter=value&secondParameter=value2';
如果服务器生成的 URL 已经有一些查询字符串参数,这将是无效的。我知道,当我使用 jQuery 的 Ajax 方法时,我可以使用 options 参数传递带有所需查询字符串参数的数据对象,并且 jQuery 本身能够决定是否必须与 ? 或 &,像这样:
$.ajax({
type: "GET",
url: theUrl,
data: {someClientGeneratedParameter:'value', secondParameter:'value2'},
success: callback
});
有没有办法在调用之前使用 jquery 的这种 concat 机制进行重定向location.href
?(如下所示):
//supposition only, when theUrl equals 'http://url/parameter?anotherPar=1'
var finalUrl = $.getMyFinalUrl({url: theUrl,
data: {someClientGeneratedParameter:'value', secondParameter:'value2'}
});
window.location.href = finalUrl ;
这有意义还是我应该编写自己的方法?
谢谢。
PS:在服务器上使用 Asp.net MVC3 + C#。