J'apprécierais vraiment de l'aide sur ce sujet ... J'ai essayé des tonnes de solutions comme celles publiées sur ce forum, mais je ne peux pas le faire fonctionner.
Mon appel ajax est quelque chose comme
$(document).ready(function() {
$("#company").click(function() {
$.ajax({
type: "POST",
dataType:'html',
url : "/company",
success : function (data) {
$("#result").html(data);
}
});
});
});
J'appelle la vue par mon itinéraire
Route::post('/company', 'Ajaxcontroller@loadContent');
Et contrôleur
public function loadContent()
{
return view('listing.company')->render();
}
Mon entreprise.blade.php est
@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
Je reçois cette erreur
POST http://127.0.0.1:8234/company 419 (unknown status)
Laravel 419 post erreur est généralement liée à api.php et autorisation de jeton
Laravel génère automatiquement un "jeton" CSRF pour chaque session d'utilisateur actif gérée par l'application. Ce jeton est utilisé pour vérifier que l'utilisateur authentifié est celui qui envoie réellement les demandes à l'application.
Ajoutez ceci à votre appel ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
ou vous pouvez exclure certains URI dans le middleware de jeton VerifyCSRF
protected $except = [
'stripe/*',
];
419 erreur se produit lorsque vous ne postez pas csrf_token. dans votre méthode de publication, vous devez ajouter ce jeton aux autres variables.
Dans votre action, vous devez d’abord charger des entreprises telles que:
$companies = App\Company::all();
return view('listing.company')->with('companies' => $companies)->render();
Cela rendra la variable company disponible dans la vue et devrait rendre le code HTML correctement.
Essayez d'utiliser postman chrome extension pour déboguer votre vue.
J'ai eu le même problème, et cela a fini par être un problème avec la taille maximale du message php. Augmenter le problème a été résolu.
Dans laravel, vous pouvez utiliser view render . Ex. $ returnHTML = view ('myview') -> render (); myview.blade.php contient le code de votre lame
Avait le même problème, la régénération de la clé d'application a aidé - php artisan key:generate
J'ai reçu cette erreur lorsque j'avais un fichier de configuration avec <?php
sur la deuxième ligne au lieu de la première.
Vous n'avez aucune donnée que vous soumettez! Essayez d'ajouter cette ligne à votre ajax:
data: $('form').serialize(),
Assurez-vous de changer le nom pour correspondre!
De plus, vos données doivent être soumises dans une fonction d'envoi de formulaire.
Votre code devrait ressembler à ceci:
<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>