Расширение 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">&times;</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);

Есть ли комментарии / лучшие способы?

Другие вопросы по тегам