繁体   English   中英

ajax请求在laravel中仅工作一次

[英]ajax request works only once in laravel

起初我的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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM