2016-08-06 3 views
2

Я работаю над laravel 5.2. Я хочу изменить имя моей группы с помощью ajax-запроса, но я получаю сообщение об ошибке «Ошибка необработанного объекта». Я могу принести имя группы с помощью JQuery в моей текстовое поле, но когда я нажимаю на кнопку сохранить, я получаю ошибку каждый раз, которое показано ниже: enter image description hereошибка необработанного объекта (ajax) (laravel 5.2)

Мой контроллер:

 public function groupEditGroup(Request $request){ 
    $this->validate($request,[ 
    'groupname' => 'required|min:5' 
    ]); 
    $group=Grouptable::find($request['postId']); 
    $group->name=$request['groupname']; 
    $group->update(); 
    return response()->json(['new_name' => $group->name],200); 
    } 

Мои вид:

 <section class="col-md-offset-1 col-md-9 special" 
     data-groupid="{{ $group->id }}"> 
     <a id="hash" href="" style="font-size:20px;text-decoration:none;"> 
     {{$group->name}}</a> 
     <button type="button" style="margin-top:5px;" class="btn btn-warning 
     dropdown-toggle" data-toggle="dropdown"><span id="removesign" 
     class="glyphicon glyphicon-chevron-down"></span></button> 

     <ul class="dropdown-menu" role="menu"> 
     <li role="presentation"><a id="edit" style="font-weight:bold; 
     color:black;"role="menuitem" tabindex="-1">Edit Group Name</a></li> 
     <li role="presentation"><a style="font-weight:bold; color:black;" 
     role="menuitem" tabindex="-1" href="{{ URL('/groups/'.$group->id) 
     }}">Leave This Group</a></li> 

     </ul> 


     <!-- Modal --> 
     <div id="edit-modal" class="modal fade" role="dialog"> 
     <div class="modal-dialog"> 

     <!-- Modal content--> 
     <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal">&times; 
     </button> 
     <h4 class="modal-title" style="font-weight:bold; color:black;"> 
     Edit Group Name</h4> 
     </div> 
     <div class="modal-body"> 
     <form> 
     <div class="form-group"> 
     <textarea class="form-control" name="edit-group" id="edit-group"> 
     </textarea> 
     </form> 
     </div> 
      <div class="modal-footer"> 
      <button type="button" class="btn btn-primary btn-lg" 
      data-dismiss="modal" id="modal-save">Save</button> 
      </div> 
      </div> 

     </div> 
     </div> 
     </section> 

     <script> 
     var token='{{ Session::token() }}'; 
     var url='{{ route('edit') }}'; 
     </script> 

Мои Javascript:

 var groupId= 0; 
     var postBodyElement=null; 
     $('.row').find('.special').find('.dropdown- 
     menu').find('li').find('#edit').on('click', function(event){ 
     event.preventDefault(); 
     postBodyElement=event.target.parentNode.parentNode. 
     parentNode.childNodes[1]; 
     var groupName=postBodyElement.textContent; 
     groupId=event.target.parentNode.parentNode.parentNode 
    .dataset['groupid']; 
     $('#edit-group').val(groupName); 

     $('#edit-modal').modal(); 
     }); 

     $(function() { 
     $.ajaxSetup({ 
     headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') } 
     }); 
     }); 

     $('#modal-save').on('click',function(){ 
     $.ajax({ 
     method:'POST', 
     url:url, 
     data:{ body: $('#edit-group').val(), groupId: groupId , 
     _token: token } 

     }) 
     .done(function(msg){ 
     $(postBodyElement).text(msg['new_name']); 
     $('#edit-modal').modal('hide'); 
     }); 

     }); 
+0

Вы можете проверить, какой ответ вы получаете с сервера, используя метод '.error()' ajax и распечатать результат в консоли. – jaysingkar

+0

Я не понимаю. как я могу это проверить? –

+0

проверьте ответ. получил метод '.fail()' после 'done()' method – jaysingkar

ответ

2
$.ajax({ 
     method:'POST', 
     url:url, //Changed the 'body' index to 'groupname' in data 
     data:{ groupname: $('#edit-group').val(), groupId: groupId , 
     _token: token } 

     }) 
     .done(function(msg){ 
     $(postBodyElement).text(msg['new_name']); 
     $('#edit-modal').modal('hide'); 
     }) 
     .fail(function(msg) { 
      console.log(msg); 
     )}; 
+0

сейчас, я получаю новую ошибку: неожиданный токен –

+0

Я пробовал ваш код, но теперь я получаю следующий ответ. –

+0

Объект {readyState: 4, responseText: "{" groupname ": [" Поле groupname требуется. "]}", ResponseJSON: Object, status: 422, statusText: "Непроцессная сущность"} .... в моей консоли –

Смежные вопросы