#javascript #php #jquery #ajax #laravel
#javascript #php #jquery #ajax #laravel
Вопрос:
Я делаю проект на laravel voyager, и на одной странице я хочу перезагрузить данные из базы данных без обновления страницы вручную, поэтому я использовал jQuery / AJAX, перезагрузка работает, но при каждом интервале перезагрузки он изменяет размер моего div и перемещает навигацию и боковую панель, которые находятся за пределами div, которыйЯ обновляю. Кто-нибудь может помочь?
Я думал, что это, возможно, из-за версии jQuery, но я пробовал с несколькими версиями и все тот же результат.
Страница (blade.php ):
@extends('voyager::master')
@section('page_title', 'ACD Status')
@section('page_header')
<h1 class="page-title">
<i class="voyager-phone"></i>
ACD Status
</h1>
@stop
@section('content')
<div class="page-content edit-add container-fluid" id=>
<div class="row">
<div class="col-md-12">
<div class="panel panel-bordered">
<div id="tables">
<div id="reload">
--Data Here--
</div>
</div>
<script language="javascript" type="text/javascript">
var timeout = setTimeout(reloadStatus, 5000);
var i=0;
function reloadStatus(){
$('#tables').load('/admin/acd-status #reload',function(){
$(this).unwrap();
timeout = setTimeout(reloadStatus, 5000);
});
console.log(i );
}
</script>
</div>
</div>
</div>
</div>
@stop
Комментарии:
1. что вы пытаетесь загрузить? что возвращается из ‘/ admin / acd-status #reload’? можете ли вы добавить html, возвращенный в этот пост?
2. /admin/acd-status — это маршрут, который возвращает эту страницу
3. Каждый раз, когда вы
unwrap()
это делаете, вы перемещаете его вверх по дереву dom, удаляя его родительский элемент. Это не имеет смысла4. Вот и все, я просто удаляю unwrap и вуаля. Спасибо @charlietfl
Ответ №1:
Удален $this.unwrap()
@extends('voyager::master')
@section('page_title', 'ACD Status')
@section('page_header')
<h1 class="page-title">
<i class="voyager-phone"></i>
ACD Status
</h1>
@stop
@section('content')
<div class="page-content edit-add container-fluid" id=>
<div class="row">
<div class="col-md-12">
<div class="panel panel-bordered">
<div id="tables">
<div id="reload">
--Data Here--
</div>
</div>
<script language="javascript" type="text/javascript">
var timeout = setTimeout(reloadStatus, 5000);
var i=0;
function reloadStatus(){
$('#tables').load('/admin/acd-status #reload',function(){
timeout = setTimeout(reloadStatus, 5000);
});
console.log(i );
}
</script>
</div>
</div>
</div>
</div>
@stop