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!