Запись не обновляется через AJAX запрос в Laravel - PullRequest
1 голос
/ 17 января 2020

Я использую jquery ajax в laravel для обновления данных из базы данных. Я написал этот код, и часть $ ajax () не работает. но все до этого работало замечательно. Пожалуйста, дайте мне знать, где я делаю неправильно?

1) AJAX функция:

$(".Editform").click(function() {var id=$(this).attr("id");
 // alert(id);
$("#saveBtn").on ('click',function() {  var name = 
 // alert(name);
$("input[name=name]").val();
$.ajax({type:'POST',url:'edit-records',data:{id:id,name:name },success: 
  function(result){alert.show(); $('#MyModal').modal('hide');   
  console.log(result);}});});}); 

2) Контроллер:

public function updaterec(Request $request, $id)

{
    $name = $request->input('name');
    DB::update('update m_employee set employee_name = ? where employee_id = ?',[$name,$id]);
    echo "Record updated successfully";

}

3) веб. php:

Route::post('edit-records','viewemployeeController@updaterec');
Route::get('view-records','viewemployeeController@index');

1 Ответ

0 голосов
/ 17 января 2020

Не следует использовать $id в качестве параметра, если он не определен в маршруте.

Изменить контроллер:

public function updaterec(Request $request)

{
    $name = $request->input('name');
    $id = $request->input('id');
    DB::update('update m_employee set employee_name = ? where employee_id = ?',[$name,$id]);
    echo "Record updated successfully";

}

--------- ИЛИ- --------

Измените свой маршрут и Ajax код:

Route::post('edit-records/{id}','viewemployeeController@updaterec');

 $.ajax({type:'POST',url:'edit-records/'+id,data:{id:id,name:name },success: function(result){alert.show(); $('#MyModal').modal('hide');   console.log(result);}});});
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...