2014-12-04 5 views
0

Я пытаюсь изучить запрос Laravel Ajax.Laravel Request :: Ajax() не работает

route.php

Route::get('/repository/', '[email protected]'); 
    Route::post('/repository/', function(){ 
     if(Request::ajax()){ 
      return 'Got everything'; 
     } 
    }); 

и

repository.index.php У меня есть модальный, который появляется при нажатии кнопки на ту же странице со следующей разметкой

@section('popups') 
<!-- Modal --> 
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
     <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
     </div> 
     <div class="modal-body"> 
      <input type="text" name="name"> 
     </div> 
     <a href="#" id="add">Submit</a> 
     <div class="modal-footer"> 
     <button type="submit" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" name="add" class="btn btn-primary">Save changes</button> 
     </div> 
    </div> 
    </div> 
</div> 


<script> 
    $(document).ready(function(){ 


     $('.add').click(function(e){ 
      e.preventDefault(); 

      var name=$(this).find('input[name=name]').val(); 

      //post Ajax 
      $.post('/repository', {name:name}, function(data){ 
       console.log(data); 
      }); 
     }); 


    }); 
</script> 

@stop 

Теперь, похоже, я не могут получить данные в консоли. Каков наилучший способ отправки данных в базу данных? и если есть ошибка в проверке, как я могу показать ее в самой модели?

+0

Просто примечание - вам не нужно объявлять свои маршруты с помощью косой черты: 'Route :: get ('repository' ...' и 'Route :: post ('repository', ...' – msturdy

+0

Хорошо, спасибо за это. Любое представление о проблеме здесь – user1012181

+0

Похоже, что она должна работать .. вы загружаете jquery ok? – msturdy

ответ

1

Update Селектор вашего Jquery:

$(document).ready(function(){ 

    $('#add').click(function(e){ // id=add 
     e.preventDefault(); 

     var name=$(this).find('input[name=name]').val(); 

     //post Ajax 
     $.post('/repository', {name:name}, function(data){ 
      console.log(data); 
     }); 
    }); 
}); 

Вы ищете класс в исходном коде, в то время как якорь имеет идентификатор! :)

+0

о, да!!! Дурак я. Кроме того, как насчет проверки этих полей в модели? как обычные процедуры? Покажет ли она ошибку в самой модели? – user1012181

+0

Если я правильно понял, вам придется обновить свой модальный JS, но на самом деле было бы лучше попробовать его и задать новый вопрос, если вы застряли! удачи! :) – msturdy

+1

Несомненно. Еще раз, спасибо :) – user1012181

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