【问题标题】:Laravel: href with route in jQueryLaravel:在jQuery中带有路由的href
【发布时间】:2021-06-06 04:40:49
【问题描述】:

我正在尝试使用路由 laravel 创建href。该路由包含一个参数,但它总是返回错误 404。我不知道我做错了什么。

我知道我的问题很简单,我正在谷歌上搜索这个,但我认为我的路线做得很好。

我的路线:

/** SHOW EVENT INFO */
Route::get('event/{url}', 'Web\EventController@showEvent');

我在file.js中的href:

<a target="_blank" id="button-event-read" href="'+config.url.base_url+'event/'+eventUrl+'" class="btn color2-bg float-btn">Leer más.<i class="fal fa-angle-right"></i></a>

如果我单击 href,它会转到正确的路线,但最终会显示 错误 404

我的控制器:

public function showEvent($url){
        echo "here";
    }

【问题讨论】:

    标签: php jquery laravel href


    【解决方案1】:

    您可以使用route name
    为您的路线添加名称:

    /** SHOW EVENT INFO */
    Route::get('event/{url}', 'Web\EventController@showEvent')->name('MyRouteName');
    

    并在 href: 中使用路由名称:

    <a target="_blank" id="button-event-read" href="{{route('MyRouteName', 'MyParameter')}}" class="btn color2-bg float-btn">Leer más.<i class="fal fa-angle-right"></i></a>
    

    【讨论】:

    • 感谢您的回复,但我的脚本不在刀片中,它的脚本文件不在刀片中,我不知道我是否可以使用 {{route()}}
    • 我不能使用你的解决方案,我在 javascript 中有错误,因为我不能使用 {{route()}} 我还需要 config.url.base_url 来获取实际的 URL。为此,我正在尝试连接
    【解决方案2】:

    在变量中获取主机 url

    var url = window.location.protocol + "//" + window.location.host;
    

    然后像这样在href中使用它。

    <a target="_blank" id="button-event-read" href="'+url+'/event/'+eventUrl+'" class="btn color2-bg float-btn">Leer más.<i class="fal fa-angle-right"></i></a>
    

    【讨论】:

    • 感谢您的回复,但我需要保留我的网址。在 config.url.base_url 中,我得到了我的实际 URL,我只需要添加“event/”+eventUrl。但总是返回 404
    • 您是否在 href 属性中获得了所需的网址?你使用的是哪个 laravel 版本?如果您使用的是 8,则需要更新路由在 laravel 8 中更新您的路由,如下所示:使用 App\Http\Controllers\Web\EventController; Route::get('country', [EventController::class, 'showEvent'])->name('show-event');
    猜你喜欢
    • 2013-09-05
    • 2021-02-08
    • 2015-04-02
    • 2019-03-05
    • 2019-08-06
    • 2018-08-31
    • 2014-08-11
    • 2016-12-10
    • 2016-04-10
    相关资源
    最近更新 更多