Расширение Typo3 6.x Проблема с кешем, когда данные ejax из extbase eID передаются в модальный режим
Данные из ajax (json) хороши и актуальны, но данные, показанные в моем модале, являются данными с первой загрузки страницы. Данные в "console.log" не верны. Кажется, проблема с чахе?
$('.showCallhistory').click(function(e) {
var callsId = $(this).data("id");
$.ajax({
cache: false,
url : '?eID=ajaxDispatcher&callId='+callsId,
dataType : 'json',
success : function(data) {
var callhistoryhtml = '';
callhistoryhtml +='<div class="well"><dl class="dl-horizontal">';
$.each(data, function(i, val) {
callhistoryhtml += '<dt>'+val.chCrdate+'</dt><dd>'+val.chEntry+' | durch: '+val.feUsername+'</dd>';
console.log(val.chEntry + ' : ' + val.chCrdate+ ' : ' + val.feUsername);
});
callhistoryhtml += '</dl></div>';
$('.replaceMe').replaceWith(callhistoryhtml);
$('#myModal').modal('toggle');
},
error : function(result) {
alert('error ' + result.myResult);
},
});
});
мой модал, в котором контент не заменен должным образом:
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Call-Historie</h4>
</div>
<div class="modal-body replaceMe">...</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">schliessen</button>
</div>
</div>
</div>
</div>
1 ответ
Решение
Проблема была в:
$('.replaceMe').replaceWith(callhistoryhtml);
Теперь используйте вместо этого следующее, и это приносит необходимый эффект:
$('.replaceMe').empty();
$('.replaceMe').append(callhistoryhtml);
Есть ли комментарии / лучшие способы?