この Web サイトで ajax ベースの Web サイトを開発しています。要求されたすべてのページの履歴を ajax 呼び出しで作成しています。1 時間の検索の後、状態を管理するための Histroy.js ライブラリを取得しました。しかし、私の問題は、ajax を呼び出して div のブロックのみを更新する要素を取得することです。だから私はこのようなものが欲しい。
<a href="a.php" class="ajax" data-block-to-update="a_block">
<div id="a_block">
ユーザーがこのリンクをクリックすると、ajax呼び出しが行われ、応答を取得した後、IDが「a_block」であるdivを更新する必要があります
ここに私のスクリプトがあります
<script>
$(document).ready(function(){
var History = window.History;
var State = History.getState();
var $log = $('#log');
History.pushState({state:'1',rand:Math.random(),content:$('#main').html(),block:'main'}, 'index', State.url);
//History.log(State.data, State.title, State.url);
$('.ajax').live('click',function(){
var gen_url = $(this).attr('href');
var bl = $(this).attr('data-block');
$.ajax({
url: gen_url,
success: function(data) {
console.log($(this));
$('#'+bl).html(data);
History.pushState({state:gen_url,rand:Math.random(),content:data,block:bl}, gen_url, gen_url);
}
});
return false;
});
$.ajaxSetup({
});
$(document).bind("ajaxComplete", function(e, xhr, settings){
// need to get element which make ajax request
console.log(xhr);
//var obj = $(e.target.activeElement);
//alert(obj.attr('data-block'));
});
History.Adapter.bind(window, 'statechange', function() {
var State = History.getState();
if(State.data.content!="" && State.data.block!="")
{
//History.log(State.data, State.title, State.url);
$('#'+State.data.block).html(State.data.content);
}
else
return false;
});
});
</script>
「ajaxComplete」イベントハンドラでajaxリクエストを呼び出す要素を取得するには?