Как вставить / опубликовать данные в laravel, используя ajax, в базу данных методом построителя запросов без использования модели - PullRequest
0 голосов
/ 08 ноября 2018

Это моя форма внутри Bootstrap.

<!-- Start BS Modal- Add Data Form -->
    <div id="studentModal" class="modal fade" role="dialog">
        <div class="modal-dialog modal-md">
          <div class="modal-content">
            <form method="POST" id="student_form" >
                <div class="modal-header">
                  <button type="button" class="close" data-dismiss="modal">&times;</button>
                  <h4 class="modal-title">Add New Student</h4>
                </div>
                <div class="modal-body">
                  {{ csrf_field() }}
                  <span id="form_output"></span>
                  <div class="form-group">
                    <label>First Name</label>
                    <input type="text" name="first_name" id="first_name" class="form-control" placeholder="Enter Your First name">
                  </div>
                  <div class="form-group">
                    <label>Last Name</label>
                    <input type="text" name="last_name" id="last_name" class="form-control" placeholder="Enter Your Last name" >
                  </div>             
                </div>
                <div class="modal-footer">
                    <input type="hidden" name="button_action" id="button_action" value="insert" />
                    <input type="submit" name="submit" id="action" class="btn btn-success pull-left" value="Add" >
                    <button type="button" class="btn btn-danger" data-dismiss="modal">Close</button> 
                </div>
            </form>
          </div>
        </div>
    </div>
<!-- End - BS Modal -->

Добавить новый - это кнопка с id = add_data, когда я нажимаю эту кнопку. Это показывает мне модальный бутстрап, имеющий форму. JavaScript для этого ниже:

$('#add_data').click(function(){
            $('#studentModal').modal('show');
            $('#student_form')[0].reset();
            $('#form_output').html('');
            $('#button_action').val('insert');
            $('#action').val('Add');
        });

и когда я нажимаю кнопку отправки, в которой есть id = action, как вы можете видеть в теге ввода кода формы. Javascript для этого приведен ниже: // Вставка - скрипт

$('#student_form').on('submit', function(event){
            event.preventDefault();
            var form_data = $(this).serialize();
            $.ajax({
                type:"ajax",
                method:"post",
                url:"{{ url('postdata') }}",
                data:form_data,
                dataType:"json",
                success:function(data){
                    alert("Success");
                },
                error: function(data){
                    alert("Error");
                }
            })
        });

Как получить входные значения формы здесь в JS с токеном csrf? Что должно быть в маршруте? Что должно быть в контроллере?

Я использовал простой запрос в контроллере для чтения / получения данных из базы данных, которая похожа на;

public function readData(){
    $student = DB::Table('user')->get();
    return response($student);
}

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

1 Ответ

0 голосов
/ 08 ноября 2018

Используйте метод вставки построителя запросов

DB::table('users')->insert(
    ['email' => 'john@example.com', 'votes' => 0]
);
...