Saya membutuhkan sebuah fungsi untuk menyisipkan parameter query pada sebuah parameter di kode Javascript saya.
Misalnya, untuk URL
http://www.example.com/home?foo1=bar1#anchor
saya ingin menyisipkan parameter “foo2″ dengan nilai “bar2″, sehingga menjadi
http://www.example.com/home?foo1=bar1&foo2=bar2#anchor
Lihat bahwa penyisipannya cukup rapi dengan menempatkan variabel tersebut pada bagian parameter dan masih menangani anchor “#anchor”.
Setelah mencari di StackOverflow (When in doubt, ask StackOverflow), saya mendapatkan kodenya.
function addParameter(url, parameterName, parameterValue){
replaceDuplicates = true;
if(url.indexOf('#') > 0){
var cl = url.indexOf('#');
urlhash = url.substring(url.indexOf('#'),url.length);
} else {
urlhash = '';
cl = url.length;
}
sourceUrl = url.substring(0,cl);
var urlParts = sourceUrl.split("?");
var newQueryString = "";
if (urlParts.length > 1)
{
var parameters = urlParts[1].split("&");
for (var i=0; (i < parameters.length); i++)
{
var parameterParts = parameters[i].split("=");
if (!(replaceDuplicates && parameterParts[0] == parameterName))
{
if (newQueryString == "")
newQueryString = "?";
else
newQueryString += "&";
newQueryString += parameterParts[0] + "=" + parameterParts[1];
}
}
}
if (newQueryString == "")
newQueryString = "?";
else
newQueryString += "&";
newQueryString += parameterName + "=" + parameterValue;
return urlParts[0] + newQueryString + urlhash;
}
Cara menggunakannya adalah
url = addParameter("http://www.example.com/home?foo1=bar1#anchor", "foo2", "bar2");
Kodenya di StackOverflow dapat dilihat di sini.



Satu komentar
nambahin parameternya JSON dong pet, masak cuma 1 aja