Ajax请求在laravel中只工作一次

ajax request works only once in laravel

本文关键字:一次 工作 请求 laravel Ajax      更新时间:2023-09-26

一开始我的ajax请求工作得很好,但在加载了部分页面的ajax请求后,ajax停止工作(不仅是ajax,而是元素上的整个动作),为什么?

我的html代码:
<td>
                    @foreach($file_defects[$revision->revision_id] as $file_defect)
                    <a href='http://localhost/sponaDP/laravel/public/docs/revision_intervals/{{ $revision->rev_interval_id . '/' . $revision->date_of_revision->format('d.m.Y') . '/defects/' .
                                   $file_defect->getFilename() }}' target="_blank">
                        {{$file_defect->getFilename()}}
                    </a>
                    <a class="destroyFileFromRevision" id="{{$file_defect->getPathname()}}"  style='color:red;'><span style="display:none;" class="rev">{{$revision->revision_id}}</span><span class='glyphicon glyphicon-remove'></span></a>
                    <br>
                    @endforeach
</td>

我的ajax:

$(".destroyFileFromRevision").click(function () {
    var filename = this.id;
    var rev = $(this).children('.rev').text();
    $.ajax({
        type: "POST",
        url: "http://localhost/sponaDP/laravel/public/revisions/destroy-file",
        data: 'filename=' + filename + '&rev=' +rev,
        beforeSend: function () {
            $(".destroyFileFromRevision").parent('td').html(
                    "<i class='fa fa-spinner fa-spin' aria-hidden='true' 'n'
                    ></i>");
        },
        success: function (data) {
            $(".fa").parent('td').html(data);
        }
    }, 'json');
});

这些是ajax请求返回的html数据(url:…/destroy-file):

@foreach($file_defects[$revision->revision_id] as $file_defect)
<a href='http://localhost/sponaDP/laravel/public/docs/revision_intervals/{{      $revision->rev_interval_id . '/' . $revision->date_of_revision->format('d.m.Y') . '/defects/' . $file_defect->getFilename() }}'  target="_blank">
{{$file_defect->getFilename()}}
</a>
<a class="destroyFileFromRevision" id="{{$file_defect->getPathname()}}"       style='color:red;'><span class='glyphicon glyphicon-remove'></span></a>
<br>
@endforeach

您必须使元素始终以这种方式存在$(".destroyFileFromRevision").click(function ()

$(document).on('click', '.destroyFileFromRevision', function()