在超链接中传递参数/数据 - laravel Blade
Posted
技术标签:
【中文标题】在超链接中传递参数/数据 - laravel Blade【英文标题】:pass parameters/data in hyperlink - laravel blade 【发布时间】:2020-02-17 07:42:27 【问题描述】:我正在尝试通过超链接将数据从一个页面传递到另一个页面。这是网址。
<a href="url('page-name/sometext')">click here </a>
我的路线:-
Route::get('page-name/sometext', 'MyController@pagename');
在控制器中:-
function pagename(Request $request)
$sometext=$request->sometext;
return view('page-name')-with($sometext);
现在尝试在第二页中获取数据。
$sometext
但它显示错误:-
Illuminate\View\View 类的对象无法转换为 int
如果有其他方法,请提出建议!
【问题讨论】:
【参考方案1】:您正在使用 get 方法并使用参数获取。所以不用写Request $request
HTML
<a href="url('page-name/sometext')">click here </a>
路线:-
Route::get('page-name/sometext', 'MyController@pagename');
控制器:- 需要改变
function pagename($sometext)
return view('page-name',compact('sometext'));
现在page-name.blade.php文件你可以得到这个变量
$sometext
【讨论】:
它可以工作,但现在页面 url 已从 127.0.0.1:8000/page-name 更改为 127.0.0.1:8000/page-name/sometext,因此此页面未与其他 [css/js/bootstrap] 文件连接 cz 这些已与页面 @987654323 连接@ .如何克服这个? 我认为问题在于加载 css js。你可以ctrl+U
查看网址。
我根据127.0.0.1:8000/page-name bcz设置css,js url 会有多个文本变量发送到页面,页面url会像127.0.0.1一样不断变化:8000/page-name/text-one, 127.0.0.1:8000/page-name/text-two 等,然后如何设置该页面的css、js、引导链接。
@SajjadAli 您是否尝试过使用 asset('css/style.css')
链接您的公共文件夹中的css、js 或任何内容。这样您就不必手动更改链接,因为它始终指向您的公用文件夹。除非您直接从网站链接它(例如 bootstrap 的 cdn、在线 jquery 库等)
试过了,不知道为什么要使用asset,谢谢【参考方案2】:
当你用这样的get方法在路由中传递数据时,
Route::get('page-name/sometext', 'MyController@pagename');
那么你需要在你的方法中定义参数的数量,
function pagename(Request $request,$someText="")
//$sometext=$request->sometext;
return view('page-name')-with("someText",$someText);
【讨论】:
以上是关于在超链接中传递参数/数据 - laravel Blade的主要内容,如果未能解决你的问题,请参考以下文章
使用 vuejs 和 laravel 在 URL 中传递参数
PHP Laravel - 继续将 url 中传递的参数用于其他 url,如分页链接