我正在使用 Laravel 11 和 jQuery
我有这个错误:
错误 404:未找到
{ "message": "找不到路由 %7B%7B%20route('columns.all')%20%7D%7D。", “异常”:“Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException”,
这是我的道路代码
Route::post('columns/all', [ColumnController::class, 'getAllColumns'])->name('columns.all');
这是我的js代码(jQuery):
$(document).ready(function ()
{
alert("ici");
var routeUrl = "{{ route('columns.all') }}";
// Fonction Ajax pour charger des données
function loadData()
{
$.ajax({
url: routeUrl,
method: 'POST',
dataType: 'json', // Indique que la réponse attendue est en JSON
headers: {
'X-Requested-With': 'XMLHttpRequest' // Indique qu'il s'agit d'une requête AJAX
},
data: {
_token: $('meta[name="csrf-token"]').attr('content') // Ajout du jeton CSRF pour sécuriser la requête
},
success: function (response)
{
console.log(response); // Vérification de la réponse
let select = $('#column_description'); // Supposez que vous avez un <select> avec cet ID
// Vider les options existantes
select.empty();
// Ajouter une option vide
select.append('<option value="">Select a column</option>');
// Itérer sur les données et créer une option pour chaque colonne
response.forEach(function(column) {
select.append(`<option value="${column.id}">${column.identifiant}</option>`);
});
},
error: function (error)
{
// Afficher un message d'erreur détaillé dans une alerte
let errorMessage = `Erreur ${error.status}: ${error.statusText}\n\n${error.responseText}`;
alert(errorMessage);
// Affiche également l'erreur complète dans la console pour plus de détails
console.error('Erreur complète:', error);
}
});
}
// Appeler loadData() lorsque la page est chargée
loadData();
});
警报正确启动。
这段代码在一个单独的文件中,但是当我将其放入我的index.php文件中时,找到路由没有问题。
谢谢您的帮助。
1. Pass the Route URL as a JavaScript Variable in the Blade File:
<script>
var routeUrl = "{{ route('columns.all') }}";
</script>
2. Add this routeUrl variable in your jquery ajax function:
url: routeUrl
现在应该可以工作了。