Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > ajax ile url request
Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
20.10.2009-20:36 #64014
merhabalar , benim ajax a seo uygunlanmış bir ajax sayfam var. sayfamda ben index.php#profil ile profil.php sayfasını sayfanın bir bölümüne çekiyorum sayfa yenielnemeden.

fakat ben profil.jsp sayfasında id ye göre veritabanında listeleme yapmak istiyourm ve bununda index.jsp#profil?id=12 şeklinde olup hem ajaxla olmasını hemde yukarıdaki id yi alıp listeleme olmasını istiyorum. ama # tan sonra bi şey kullanınca bunu request komutu ile cekemiyorum nasıl cozebilirim bu sorunu :S






/(::)(::)/











Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
21.10.2009-10:42 #64039
ajax bilen yok sanırım kos koca iucodersta :D





/(::)(::)/











Yazar
blackout


avatar

Kayıt: 11.12.2008
21.10.2009-17:29 #64045
Kod üzerinden sorsaydın kısa bir süre içinde istediğin yanıtı alabilirdin. wink
Çünkü burada ajax URI'ını nasıl oluşturduğun üzerinden yorum yapılması gerekiyor.

Eğer "profil.jsp" path'ini üretirken bir kontrolden geçirmiyorsan, URI'ın hash kısmına ajax ile
çağıracağın URI'ı birebir yazabilirsin (Facebook gibi) "index.jsp#profil.jsp?id=5" şeklinde...
Burada window.location.hash.substr(1) metodu sana "#" işaretinden sonraki stringi döndürür.
Sen de bu stringi direkt ajax request URI olarak kullanırsın.

Diğer türlü; js içinde kontroller vs. yaparak URI oluşturacağım diyorsan;
verdiğin bilgilere göre kısaca şöyle oluşturabilirsin:

var pieces = window.location.hash.substr(1).split("?");
var ajaxURI = pieces[0] + ".jsp?" + pieces[1];





Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
21.10.2009-19:00 #64046
yapamak istedim şey yukarıdaki adres satırındaki id yi js dosyasına almak yani

function pageload(hash) {
		// hash doesn't contain the first # character.
		if(hash) {
             
			// restore ajax loaded state
			jQuery("#load").load(hash+".jsp");
			document.title = "Pillifare.Com | " + hash;
		} else {
			// start page
			jQuery("#load").empty();
		}

     
	}


kodum bu kodumdaki jQuery("#load").load(hash+".jsp"); kısmında .jsp den sonra id=12 yazdırmak istiyorum senin dedigne göre böyle olacak sanırım

function pageload(hash) {
		// hash doesn't contain the first # character.
		if(hash) {
                    var pieces = window.location.hash.substr(1).split("?");
                var ajaxURI = pieces[0] + ".jsp?" + pieces[1];
			// restore ajax loaded state
			jQuery("#load").load(hash+".jsp"+ajaxURI);
			document.title = "Pillifare.Com | " + hash;
		} else {
			// start page
			jQuery("#load").empty();
		}

     
	}






/(::)(::)/











Yazar
blackout


avatar

Kayıt: 11.12.2008
21.10.2009-19:05 #64047
Eğer normalde çalışan kod buysa şöyle yapman gerekiyor.

function pageload(hash) {
	// hash doesn't contain the first # character.
	if(hash) {
		var pieces = hash.split("?");
		var ajaxURI = pieces[0] + ".jsp?" + pieces[1];
		// restore ajax loaded state
		jQuery("#load").load(ajaxURI);
		document.title = "Pillifare.Com | " + hash;
	} else {
		// start page
		jQuery("#load").empty();
	}
}






Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
21.10.2009-19:12 #64048
Şimd şöyle acıklıyım kodun calısma seklini benim index.jsp sayfam genel sayfam
ben index.jsp#profil yaparak index.jsp içinedki belirlediğim bir dive profil.jsp yi include ediyourm. bunuda ajax ile yapıyom. yani profil kelimesini gorunce gidiyor ajax sınıfında sonuna .jsp koyuyor ve çekiyor.

ama benim profil.jsp sayfamın içinde id ye göre listeleme var yani sadece profil.jsp ile gösterecek olursam

profil.jsp?uid=12 id si 12 olanı çekiyor o sayfaya. işte bunu ben index.jsp#profil?uid=578 şeklnde yapmak isterken profil.jsp deki sayfaya git uid=578 yolla diyoırum





/(::)(::)/











Yazar
abbas


avatar
ist
Kayıt: 29.03.2008
21.10.2009-19:17 #64049
bide şunu sorayım sizin verdiginiz kodda

var ajaxURI = pieces[0] + ".jsp?" + pieces[1];

kod satırı ne iş yapıyor . ajaxURI ya neyi atıyor





/(::)(::)/











Yazar
blackout


avatar

Kayıt: 11.12.2008
21.10.2009-23:38 #64058
Sana ihtiyacın olan bilgiyi ve kod parçasının vermeme rağmen soruyu neden tekrarladığını anlayamadım.

Son sorduğun soru ise js string manuplasyonları ile ilgili. Orada "hash" isimli String nesnesine split metodu uygulanarak içerdiği belirli bir karakter ya da string ile parçalara ayrılıyor ve parçalar soldan sırayla bir diziye aktarılarak bu dizi döndürülüyor.

"profil?uid=578" şeklindeki stringi "?" ile parçalarsan 2 elemanlı bir dizi elde edersin.
Dizinin ilk elemanı "profil", ikinci elemanı ise "uid=578" stringini tutar.
Sanırım "ajaxURI" değişkenine neyin atandığını buradan çıkarabilirsin.

Aslında bunlarla kafanı yormana hiç gerek yok. İlk mesajımda belirttiğim gibi yaparsan o neydi bu neydi diye sorma ihtiyacını da ortadan kaldırmış olursun. Ajax ile çağıracağın URI'ı olduğu gibi hiç değiştirmeden adresteki "#" işaretinden sonra eklersin ve kullandığın "pageload" isimli fonksiyonun içinde jQuery("#load").load(ajaxURI); satırı ile işi halletmiş olursun.








Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb