php - page - laravel post ajax 419 unknown status
Error Ajax LARAVEL 419 POST (6)
¡No tienes ningún dato que estés enviando! Intenta agregar esta línea a tu ajax:
data: $(''form'').serialize(),
Asegúrese de cambiar el nombre para que coincida!
También sus datos deben ser enviados dentro de una función de envío de formulario.
Su código debe verse algo como esto:
<script>
$(function () {
$(''form'').on(''submit'', function (e) {
e.preventDefault();
$.ajax({
type: ''post'',
url: ''company.php'',
data: $(''form'').serialize(),
success: function () {
alert(''form was submitted'');
}
});
});
});
</script>
Realmente agradecería alguna ayuda en esto. Probé toneladas de soluciones como se publicaron en este foro, pero no puedo hacer que funcione.
Mi llamada ajax es algo así como
$(document).ready(function() {
$("#company").click(function() {
$.ajax({
type: "POST",
dataType:''html'',
url : "/company",
success : function (data) {
$("#result").html(data);
}
});
});
});
Estoy llamando a la vista a través de mi ruta.
Route::post(''/company'', ''Ajaxcontroller@loadContent'');
Y controlador
public function loadContent()
{
return view(''listing.company'')->render();
}
Mi company.blade.php es
@foreach ($companies as $company)
<div class="posting-description">
<h5 class="header"><a href="#"></a>{{$company->name}}
</h5>
<h5 class="header"> {{$company->streetaddress}} {{$company->postalcode}}</h5>
<p class="header">
<span class="red-text"> <?= $service; ?> </span> is available on <span class="green-text"><?php echo $date; ?></span>
</p>
@endforeach
Estoy recibiendo este error
POST http://127.0.0.1:8234/company 419 (unknown status)
El error 419 sucede cuando usted no publica csrf_token. en su método de publicación debe agregar este token junto con otras variables.
El error de publicación de Laravel 419 generalmente está relacionado con la autorización api.php y el token
Laravel genera automáticamente un "token" CSRF para cada sesión de usuario activa gestionada por la aplicación. Este token se usa para verificar que el usuario autenticado es el que realiza las solicitudes a la aplicación.
Agrega esto a tu llamada ajax
$.ajaxSetup({
headers: {
''X-CSRF-TOKEN'': $(''meta[name="csrf-token"]'').attr(''content'')
}
});
o puede excluir algunos URI en el middleware token VerifyCSRF
protected $except = [
''stripe/*'',
];
En laravel puedes usar view render. ex. $ returnHTML = view (''myview'') -> render (); myview.blade.php contiene su código blade
En su acción usted necesita primero cargar compañías así:
$companies = App/Company::all();
return view(''listing.company'')->with(''companies'' => $companies)->render();
Esto hará que la variable de las empresas esté disponible en la vista y debe representar el HTML correctamente.
Intenta usar la extensión de postman chrome para depurar tu vista.
Tuve el mismo problema, y terminó siendo un problema con el tamaño de publicación de php max. Aumentándolo resolvió el problema.