Ajax çağrısı içinde yönlendir

2 Cevap php

Ben müşteri haberiniz olmadan bir Ajax çağrısı yönlendirmek gerekir.

getPage.php belirli bir sorgu için html vb döndüren bir uygulamadır.

getPage.php?hash=interesting-article-title ve getPage.php?page=3 ile aynı verir.

Ben isterim bu iki önbelleğe zorunda müşteri önlemek için getPage.php?hash=interesting-article-title PHP başlığında 301 ve konum üzerinden getPage.php?page=3 yönlendirmek.

Ben bunu denedim ve hiçbir şey döndürür. Ajax arama yönlendirilmesini istiyorsanız görünmüyor.

Herkes ne bu çift önbellek sorunu çözmek olabilir bir fikriniz var mı?

Ben onlar önbelleklenebilecek çünkü 301 yönlendirmelerini kullanmak istiyorum. O hash=insteresting-article-title getirmesi söylenir Bu şekilde tarayıcı otomatik olarak page=3 çağırır.

Code examples:

	function handleInit(event) {
		if (event.path != "/") {
			var hash = event.path.replace(/\//,"").replace(/\?/g,"");
			getPage(hash);
			currentState.hash = hash;
		} else {
			currentState.id = 1;
		}
		SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
	}


	function chapter_forward() {
		if (!freeze) {
			freeze = true;
			getPage(currentState.id - 1);
		}
	}


	function ajax_data(id) {
		return typeof(id) == "string" ? "hash=" : "page=";
	}

	function getPage(id) {
		$.ajax({
			method: "get",
			url: getPage.php,
			data: ajax_data(id) + id.toString(),
			dataType: 'json',
		    timeout: 2000,
		    error: function() {
				$("#space-3").html('40104 - Request Timeout');
		    },
			complete: function() {},
			success: function(result) {
				handleContent(result);
			}
		});
	}

Kullanıcı sırtını ileri ve tarayıcı düğmelerini kullandığında ben bir HASH gelen kimliği almak çünkü gerçekleşmesi yönlendirme gerekir nedenidir.

Kullanıcı sadece geri ve ileri gittiğinde ben sadece mevcut id 1 ekleyin.

getPage.php böyle bir şey verir:

{"article_id":"3","hash":"music-in-your-ear","title":"Music in your ear.","html":"Blah blah article 3","modified":"Fri, 20 Mar 2009 02:46:00 GMT"}

Teşekkürler!

2 Cevap

Eğer this answer bakarsanız, tarayıcılar için doğru davranış sorgu params ile adresler önbelleğe etmektir.

Temelde aynı url erişirken 301 yönlendirme bile çalışır eğer ben bilmiyorum.

Ben size kod geçmesi ve onlar aynı şeyi dönerseniz sadece bu bağlantılardan birini kullanmanızı öneririz.

Eğer apache kullanıyorsanız, mod-yeniden yazar ve yeniden yazma harita dosya hash belirtilen kimlikleri Haritayı terimleri önceden tanımlanmış bir liste olduğunu varsayarsak bu sunucu tarafı çözmek için mükemmel bir yoldur.

Ben SEO yararları için bu yapıyorsun varsayarak yaşıyorum?