Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.

Yazılım Soruları

0

JavaScript ile adres çubuğundan gelen verileri almak

JavaScript kullanarak adres çubuğundan gelen sorgu dizesindeki (QueryString) verileri nasıl alabilirim?

Soran:07.04.16 19:29
misafir  

1 Cevap

0
İnternette arama yapıldığında düzenli ifadelerle yapılan bir sürü çözüm bulunabilir. Ancak ben düzenli ifadeleri pek tercih etmediğimden aşağıdaki fonksiyonu kullanıyorum.

function sorguDizesiDegeri(sd, aranan) {
    if (sd == "") return null;
    var sds = sd.substring(1).split("&");
    for (var i = 0; i < sds.length; i++) {
        var a = sds[i].split("=");
        if (a.length != 2) continue;
        if (a[0] == aranan)
            return decodeURIComponent(a[1]).replace(/\+/g, " ");
    }
    return null;
}


// Kullanımı
console.log(document.location.search, "kayitNo");

Eğer tüm değerleri bir JavaScript nesnesi olarak almak isterseniz şunu öneririm:
function queryToObject(str) {
    return (str || document.location.search).replace(/(^\?)/, '').split("&").map(function (n) { return n = n.split("="), this[n[0]] = n[1], this }.bind({}))[0];
}
Bu fonksiyon
http://cevapsitesi.com/deneme.aspx?adi=ali&yasi=25
gibi bir adresle kullanıldığında
{adi:"ali", yasi:"25"}
gibi bir sonuç alırsınız ve bunu da şu şekilde kullanabilirsiniz:
var obj = querytoObject();
console.log(obj.adi); // ali yazar.
console.log(obj.yasi); // 25 yazar.


Cevaplayan: 07.04.16 16:52
cevapsitesi
102,034p 15ü
Cevabı seçen: 08.06.16 00:02
canora
101,387p 4ü