CRUD с использованием AJAX & Laravel. После добавления новой записи новый ответ (обновленные данные) не заменяет мое текущее тело моей таблицы без перезагрузки
- Данные в таблице поступают из базы данных
Код таблицы HTML:
<table id="mytable" class="table">
<thead>
<tr>
<th>DB-ID</th>
<th>Name</th>
<th>Age</th>
<th>Degree</th>
<th>Cell</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
<tbody>
@if ($records->count() > 0)
@foreach($records as $record)
<tr>
<td>{{$record->id}}</td>
<td>{{$record->name}}</td>
<td>{{$record->age}}</td>
<td>{{$record->degree}}</td>
<td>{{$record->cell}}</td>
</tr>
@endforeach
@else
<span style="color:red">{{ 'Record Not Found' }}</span><br><br>
@endif
</tbody>
</table>
- По щелчку
ajax
получает данные и сохраняет их в базе данных, но - он не обновляет мое
tbody
тело таблицы с новым ответом (обновленные данные из базы данных) без перезагрузки - используя
$("tbody").html(responce);
он удаляет все записи таблицы - используя
$("tbody").append(responce)
; никаких изменений не происходит - используя
$("tbody").html(row);
вся предыдущая запись исчезает и отображается только новая строка - используя
$("tbody").append(row);
он не исчезает предыдущая запись и показать все строки, а также - Я хочу обновить текущую таблицу с новыми данными без перезагрузки
AJAX-код:
$.ajax({
type: "GET",
url: " {{route('record.create')}}",
data: {name: name, age: age, degree: degree, cell: cell},
success: function (responce) {
// location.reload();
$.each(responce, function( index, value ) {
var row = $("<tr><td>"
+ value.id + "</td><td>"
+ value.name + "</td><td>"
+ value.age + "</td><td>"
+ value.degree + "</td><td>"
+ value.cell + "</td></tr>");
// $("tbody").html(responce); //all table record vanished
// $("tbody").append(responce); //no change
// $("tbody").html(row); //all previous record vanish and new row shown
// $("tbody").append(row); //not vanish previous record and show all rows as well
});
}
});
сеть.маршрут на PHP:
Route::get('main', 'CrudController@store')->name('record.create');
Контроллер:
public function store(Request $request)
{
$record = new Record($request->except('_token'));
$record->save();
$records = Record::all();
return Response::json($records);
}
Просмотр всех записей маршрута:
Route::get('record', 'CrudController@view')->name('record.view');
контроллер представления :
public function view()
{
$records = Record::all();
return view('main', compact('records'));
}
У вопроса есть решение - Посмотреть?

Источник
Ответы - CRUD с использованием AJAX & Laravel. После добавления новой записи новый ответ (обновленные данные) не заменяет мое текущее тело моей таблицы без перезагрузки / CRUD using AJAX & Laravel. After adding a new record, new response (updated data) is not replacing my current tbody of my table WITHOUT RELOADING
Является ответом!

05.12.2019 07:24:32
Я думаю, что вы должны сначала исчезнуть из своей таблицы, прежде чем вводить новые данные из ответа.
$.ajax({
type: "GET",
url: " {{route('record.create')}}",
data: {name: name, age: age, degree: degree, cell: cell},
success: function (responce) {
$('#formdata')[0].reset();
$("tbody").html("");
$.each(responce, function( index, value ) {
var row = $("<tr><td>"
+ value.id + "</td><td>"
+ value.name + "</td><td>"
+ value.age + "</td><td>"
+ value.degree + "</td><td>"
+ value.cell + "</td></tr>");
$("tbody").append(row);
});
}
});

Ух ты, здорово. это работает . но поля ввода моей формы не обновляются, и она содержит старые значения в полях. как очистить мои поля ввода без перезагрузки

просто установите его в пустую строку, когда успех @Имран..

Я обновил свой ответ, вы можете проверить, как я сбросил форму

О, это не работает: Uncaught TypeError: не удается прочитать свойство "сброс" неопределенного @saengdaet

что такое
id
формы?

<form id= "formdata" method="">

Давайте продолжим эту дискуссию в чате .
Помочь в развитии проекта: