Tôi là người mới trong chủ đề này. Tôi có div với một số vật dụng dojo bên trong. Tôi sử dụng ajax để tải lại div này, nhưng sau này widget dojo của tôi không hiển thị. Làm thế nào tôi có thể làm cho trình duyệt của tôi để tải lại các vật dụng một lần nữa sau khi yêu cầu ajax. Tôi không muốn tải lại toàn bộ trang.Tải lại tiện ích dojo sau yêu cầu ajax
My xem phần ajax:
<div dojoType="dijit.layout.BorderContainer" gutters="true" id="borderContainerTwo">
<?php foreach($wynik as $row): ?>
<div dojoType="dijit.layout.ContentPane" region="center" splitter="false">
<p id="category"><img src="/photo/category/<?php echo $row->idPropozycji;?>.jpg" width="100" height="130" style="float: left;"></p>
<?php echo $row->opis; ?>
</div>
<div dojoType="dijit.layout.AccordionContainer" id="leftAccordion" region="leading" splitter="true">
<div dojoType="dijit.layout.AccordionPane" title="Title">
<h3><?php echo $row->nazwa2; ?></h3>
</div>
<div dojoType="dijit.layout.AccordionPane" title="Place">
<?php echo $row->place;?>
</div>
</div>
<?php endforeach;?>
</div>
Nạp lại JQuery kịch bản:
// Functon to Show out Busy Div
function showBusy(){
$('#ajax-content').block({
message: '<h1>Wczytuje dane</h1>',
css: {border:'3px solid #FFF'}
});
}
function updatePage(html){
window.setTimeout(function(){
$('#ajax-content').html(html);
}, 2000)
}
$(document).ready(function() {
// $.AJAX Example Request
$('.ajax-pag > li a').live('click', function(eve){
eve.preventDefault();
var link = $(this).attr('href');
console.log(link);
$.ajax({
url: link,
type: "GET",
dataType: "html",
beforeSend: function(){
showBusy();
},
success: function(html) {
updatePage(html);
}
});
});
});
Tôi khuyên bạn chỉ nên sử dụng một khung ở một thời điểm. Xem xét sử dụng xhrGet và xhrPost cho các yêu cầu Ajax. Bạn có sử dụng Firebug để gỡ lỗi không? Tôi khuyên bạn nên sử dụng nó. – perissf