我想要一个 SEO 友好的 url,为此我做了一个 jquery 函数,我可以在其中访问网页。就像blade.php 中提到的那样。
参数在 url 中成功传递,但我没有在 Controller 端收到它。并显示 empty 或 null 。
index.blade.php
var v_href = "http://mywebsite.com/program/course/"+discipline+"/"+city+"/"+discipline_id+"/"+city_id;
v_href = v_href.replace('--', '-');
window.location.href = v_href;
路由文件网页.php
Route::get('/program/course/{discipline?}/{city?}/{discipline_id?}/{city_id?}', 'FinderController@index')->name('finder.index');
Controller 功能
$discipline_id = $request->input('discipline_id');
$city_id = $request->input('city_id');
但我在两个变量中都为空
最佳答案
要检索路由参数,您必须将它们作为参数添加到 Controller 函数中。因此,在您的情况下,该函数被称为 getSource()
你可以这样做:
public function getSource(?string $discipline = null, ?string $city = null, ?int $discipline_id = null, ?int $city_id = null)
{
dd($discipline, $city, $discipline_id, $city_id);
}
关于php - 带有参数的路由的 Laravel Controller 请求数组为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63285473/