在超链接中传递参数/数据 - 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,如分页链接

如何将参数传递到链式 Laravel Eloquent 关系中的位置

如何在超链接函数中连接字符串

Url的参数转变成json

Laravel全局传递参数