ajax 数据表 laravel 链接

Posted

技术标签:

【中文标题】ajax 数据表 laravel 链接【英文标题】:ajax datatable laravel Linking 【发布时间】:2018-08-09 00:02:52 【问题描述】:

我有一个使用 yajrabox 包的数据表,其中包含指向各种字符串的链接。当我点击一个链接时,它会将我带到一个带有“/teams/”字符串“的 404 页面。如何使这个字符串成为可查看的页面?我尝试过使用 slug,但我可能会错误地使用它,老实说我不知道我的错误在哪里。这是我的代码的 impt. 部分:

路线:

Route::get('/teams/display/$slug', 'TeamsController@display');

团队控制器:

public function display($slug)

    $teamdatas = LoserData::findBySlugOrFail($slug);



    return view('teams/display', compact('teamdatas'));


DataTable.blade

      data: 'homeTeam', name: 'homeTeam', "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) 
        $(nTd).html("<a href=/teams/display/"+oData.homeTeam+">"+oData.homeTeam+"</a>");
        ,

teams/display.blade.php

<div class="container">
<div class="row">
    <div class="col-sm-8">
        <h1> Welcome the $teamdatas->slug profile page</h1>



    </div>
</div>

【问题讨论】:

你的路由是teams/display/slug而不是teams/slug,因此teams/string会抛出404,应该是teams/display/string 谢谢,我参考了文档并让它发挥作用,但这条评论引发了调查,所以谢谢。 【参考方案1】:

我想我应该检查一下路由文档,因为这绝对是一个路由问题。要解决它,请将其放入您的路线中:

Route::get('/teams/display/teamdatas?', 'TeamsController@display', function ($teamdatas = 'Oilers-84') 

return $teamdatas;

);

这是来自 Laravel Docs 5.5 的信息:

可选参数 有时您可能需要指定一个路由参数,但该路由参数的存在是可选的。您可以通过放置一个 ?在参数名称后标记。确保给路由对应的变量一个默认值:

Route::get('user/name?', function ($name = null) 
    return $name;
);

Route::get('user/name?', function ($name = 'John') 
    return $name;
);

【讨论】:

以上是关于ajax 数据表 laravel 链接的主要内容,如果未能解决你的问题,请参考以下文章

ajax后Laravel刷新数据

Laravel AJAX 分页从旧数据中提取行

如何使用ajax在url中传递不同的链接值

如何在控制器laravel 8中通过ajax传递路由链接和图像存储链接

在 Laravel 中调用 ajax 后数据表无法正常工作

在 Laravel 中通过 Ajax 存储数据失败