简体   繁体   English

laravel controller 没有收到来自 AJAX 的数据

[英]The laravel controller don't receive the data from AJAX

My problem is that,when I send all the information by JS, it is fine but my controller doesn't receive data.我的问题是,当我通过 JS 发送所有信息时,没问题,但我的 controller 没有收到数据。 I need send all the information inside the form and an object array.我需要发送表格内的所有信息和一个 object 数组。 I am using Laravel and Ajax /Jquery.我正在使用 Laravel 和 Ajax /Jquery。

JS / Jquery /Ajax code JS/Jquery/ajax代码

$(document).ready(function()
{
    $('#BtnRegistrar').click(function(event) {
        event.preventDefault();
        var dataString = $('#formulario').serialize(); 
       
        $.ajax({
            type: "POST",
            data: {data:dataString, list:cursos}, //Here load the form data and my array of objects
            contentType: 'application/json; charset=utf-8',
            headers: {'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')},
            success: function(data) {
                console.log('Done');
            }
        });
    });
}); 

Laravel.blade.php Laravel.blade.php

           <form method="post" action="/coordinacionCarrera/agregarNombramiento" id="formulario">
            @csrf
            <div class="row">
                <div class="row">
                    <div class="col-md-6">
                        <label for="docente">Escoja el docente.</label>
                        <div class="input-group">
                            <span class="input-group-text" id="basic-addon1">
                                <i class="fas fa-id-card"></i>
                            </span>
                            <select required class="form-select" name="usuario" id="usuario">
                                <option selected>Seleccione</option>
                                @foreach ($usuario as $user)
                                <option value={{$user->id}}>{{$user->persona->Cedula}} | {{$user->persona->Nombre}} {{$user->persona->PrimerApellido}} {{$user->persona->SegundoApellido}}</option>
                                @endforeach
                            </select>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <label for="Desde">Desde.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-calendar-day"></i>
                            </span>
                            <input type="date" class="form-control" name="Desde" id="vigencia" value="{{old('Desde')}}">
                        </div>
                    </div>
                    <div class="col-md-3">
                        <label for="Hasta">Hasta.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-calendar-day"></i>
                            </span>
                            <input type="date" class="form-control" name="Hasta" id="vigencia2" value="{{old('Hasta')}}">
                        </div>
                    </div>
                </div>
                <div class="row mtop16">
                    <div class="col-md-4">
                        <label for="Categoria">Categoría.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-calendar-day"></i>
                            </span>
                            <select disabled class="form-select" name="categoria" id="categoria">
                                <input type="hidden" name="CategoriaActual" id="CategoriaActual" value="0">
                            </select>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <label for="correo">Correo.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-envelope"></i>
                            </span>
                            <select disabled class="form-select" name="correo" id="correo">
                                <input type="hidden" name="CorreoActual" id="CorreoActual" value="0">
                            </select>
                        </div>
                    </div>
                    <div class="col-md-4">
                        <label for="Telefono">Teléfono.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-phone-alt"></i>
                            </span>
                            <select disabled class="form-select" name="telefono" id="telefono">
                                <input type="hidden" name="TelefonoActual" id="TelefonoActual" value="0">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="row mtop16">
                    <div class="col-md-4">
                        <label for="Curso">Escoja el curso.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-book"></i>
                            </span>
                            <select required class="form-select" name="curso" id="curso">
                                <option selected value="0">Seleccione</option>
                                @foreach ($curso as $cursos)
                                <option value={{$cursos->IDCurso}}>{{$cursos->Codigo}} | {{$cursos->Nombre}}</option>
                                @endforeach
                            </select>
                        </div>
                    </div>
                    <div class="col-md-3">
                        <label for="Tipo">I/C.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-book"></i>
                            </span>
                            <select required class="form-select" name="Tipo" id="Tipo">
                                <option selected value="0">Seleccione</option>
                                @foreach (obtenerTipoDeCurso() as $Tipo=>$id)
                                <option value="{{$id}}">{{$Tipo}}</option>
                                @endforeach
                            </select>
                        </div>
                    </div>
                    <div class="col-md-1">
                        <label for="Tutoria">Tutoría.</label>
                        <div class="input-group mb-3">
                            <input class="ms-3 mt-3" name="Tutoria" id="Tutoria" type="checkbox" value="0">
                        </div>
                    </div>

                    <div class="col-md-3">
                        <label for="CargaAcademica">Carga Académica.</label>
                        <div class="input-group mb-3">
                            <span class="input-group-text">
                                <i class="fas fa-book"></i>
                            </span>
                            <select required class="form-select" name="CargaAcademica" id="CargaAcademica">
                                <option selected value="0">Seleccione</option>
                                @foreach (ObtenerCargaAcademica() as $CargaAcademica=>$id)
                                <option value="{{$id}}">{{$CargaAcademica}}</option>
                                @endforeach
                            </select>
                        </div>
                    </div>
                    <div class="col-md-1 mtop16">
                        <a onclick='AgregarCursoDocente()' class="btn btn-plus">
                            <i class="fas fa-plus-square fs-2"></i>
                        </a>
                    </div>
                </div>
                <div class="row mtop16" id="CursoDocente">
                </div>
            </div>

            <div class="row ">
                <div class="col-md-12">
                    <button type="submit" class="mtop16 btn btn-success" id="BtnRegistrar">Guardar</button>
                </div>
            </div>
        </form>

Controller function Controller function

public function postAñadirNombramiento(Request $request)
    {
        return $request; //Here im trying to capture the data
    }

Console browser when i press submit button当我按下提交按钮时控制台浏览器在此处输入图像描述

Someone knows why am I not receiving anything?有人知道为什么我没有收到任何东西吗? Or there is any other method by which I can send the form inputs and an array of objects created in Javascript?或者有任何其他方法可以发送表单输入和在 Javascript 中创建的对象数组吗?

the problem is here问题在这里

 success: function(data) {
                console.log('Done');
            }

the request is successfully reaching your controller you are just logging "done" every time replace it with该请求已成功到达您的 controller 您只是每次都记录“完成”并将其替换为

 success: function(data) {
                console.log(data);
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM