Laravel 11 找不到路由 404 jQuery

问题描述 投票:0回答:1

我正在使用 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文件中时,找到路由没有问题。

谢谢您的帮助。

php jquery ajax laravel
1个回答
0
投票
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

现在应该可以工作了。

© www.soinside.com 2019 - 2024. All rights reserved.