Bir çoğumuz bir proje üstünde çalışırken PHP ile oluşturulmuş linklerdeki parametre ve değerleri çekmek isteriz. Bunun için Roshambo’nun snipplr’da paylaştığı JavaScript kodu işimizi görecektir.
1 2 3 4 5 6 7 8 9 10 11 12 |
function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } |
Bu fonksiyon URL parametreleriyle değerlerini bir dizi halinde getirir. Örneğin şu link için deneyelim: http://www.example.com/?me=myValue&name2=SomeOtherValue adresi için getUrlVars()
çağırdığımızda aşağıdaki diziye ulaşırız:
1 2 3 4 |
{ "me" : "myValue", "name2" : "SomeOtherValue" } |
İlk parametredeki değeri almak için aşağıki gibi çalıştırın fonksiyonu:
1 2 3 4 |
var first = getUrlVars()["me"]; // İkinci parametreyi almak içinse var second = getUrlVars()["name2"]; |
Bu kodların jQuery için yoğurulmuş son halide aşağıdaki gibidir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$.extend({ getUrlVars: function(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; }, getUrlVar: function(name){ return $.getUrlVars()[name]; } }); |
Yukarıdaki kodu javascript dosyanıza eklerseniz URL parametre ve değerlerini aşağıdaki gibi alabilirsiniz:
1 2 3 4 5 |
// URL Parametrelerini alalım var allVars = $.getUrlVars(); // URL Parametre değerlerini alalım var byName = $.getUrlVar('name'); |
Umarım faydalı olur, kolay gelsin,
Yorumlar
hocam benim yardıma ihtiyacım var. javascriptle başka sitelerden veri çekmek istiyorum php de yapılabiliyor fakat amacım js ile yapmak yardımcı olabilir misiniz?
Javascript ile diğer sitelerden data çekmenize müsade edilmez. Ancak şöye bir yol izleyebilirsiniz. Yani site.php isimli bir dosya oluşturursunuz. Ve index.html sayfanızda jquery get’i şu şekilde kullanabilirsiniz:
$.get(“site.php”, “site=trkodlama.com”, function(sonuc){ alert(sonuc); });
Mantığı anlatabilmişimdir umarım. Yani site.php dosyası sizin yolladığınız site adresini için çekecek sizde o sayfayı almış olacaksınız ajax ile ;)
şeklinde bir yapı yapmak istiyorum bu konuda bilginiz var mı ?
jquery dosyama querystring göndermek istiyorum..