【问题标题】:Laravel 5.4 : how to pass variable to route with JavaScriptLaravel 5.4:如何使用 JavaScript 将变量传递给路由
【发布时间】:2026-01-12 15:40:01
【问题描述】:

我想使用 JavaScript 将变量 'id' 传递给我的路由。以下是我的 JavaScript 代码:

    <script>
function edit_city(id){

$.post("edit_city/"+id, function(page_response)
{
alert(page_response);
});
}

这是我的路线:

Route::post('edit_city/{id}', function ($id) {
    echo $id;
});

请帮忙。我不知道我在哪里犯错。

【问题讨论】:

    标签: javascript laravel-5 routes


    【解决方案1】:

    将您的 $.post 调用更改为

    $.post("edit_city/"+id, function(page_response)
    {
        alert(page_response);
    });
    

    将 {id: id} 放在第二个参数中将其作为 Post 数据发送,但您的路由期望 ID 作为 URL 的一部分

    【讨论】:

    • 发现一个错字。尝试在 edit_city 之前删除“/”
    • 它仍然不起作用:(我也更新了我的问题
    • 试试这个solution
    【解决方案2】:

    您需要提供带有主机名的完整路径。这有帮助吗?

      <script>
        function edit_city(id){
        var url= '{{url("edit_city")}}' + ' /' +id;
        $.post(url, function(page_response)
        {
           alert(page_response);
        });
        }
        </script>
    

    【讨论】: