[英]How to load a page dynamically using Ajax & History?
在使用Ajax和歷史記錄時,我對以下問題感到困惑:
規格:
現在,我面臨以下問題:
這是我在使用ajax加載頁面時遇到的一個新問題,而該頁面反過來又包含Ajax調用。 造成此問題的主要原因是什么? 另外,該問題的解決方案是什么?
我的通用代碼如下所示:
<script>
var index=function(url,update_id,state){
$.ajax({
url: url,
}).done(function(data) {
$("#"+update_id).html('');
$("#"+update_id).html(data);
if(state == 1){
history.pushState({url: url,id:update_id},"name",url);
}
});
}
jQuery(document).ready(function($) {
$(document.body).on('click','.link_click',function(){
var url = $(this).attr('href');
var update_id = $(this).attr('update_id');
index(url,update_id,1);
})
});
window.addEventListener('popstate', function(event) {
if(event.state.url != null){
index(event.state.url,event.state.id);
}
});
</script>
我的鏈接看起來像這樣:
<a href="/page1/index" onclick = "return false;" update_id="new" class="link_click">My Contact</a>
我正在使用此通用代碼通過Ajax和歷史鏈接每個頁面
您是否正在為項目使用框架? 在使用Yii框架之前,我已經注意到類似的行為。 我注意到的是,如果使用靜態ID創建對象,則會導致Ajax調用數量成倍增加。
嘗試為您的對象提供唯一的ID,以免事件被阻塞。
只是一個想法:加載Ajax的頁面是否有可能再次將點擊事件附加到“ link_click”鏈接上?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.