javascript - Laravel 5.2 使用 jQuery 添加变量来请求

标签 javascript php jquery laravel-5

编辑:可以通过使用 jQuery 将变量添加到客户端中的 Laravel cookie 来完成此操作吗?我了解 Cookie 是在 GET 期间附加到请求中的吗?

<小时/>

在执行 GET 路由请求之前,是否可以使用 jQuery 将变量添加到 Laravel 5.2 中的 $request 容器?

本质上,我试图将一个值传递给 GET 请求,并将其作为参数保留在 URL 之外(并对用户隐藏)。

我的 HTML 本质上是一个菜单:

<ul class="sidebar-nav nav-pills nav-stacked " id="menu">
    <li id="menu-1">
        <a href="app.url/1">Menu 1</a>
    </li>
    <li id="menu-2">
        <a href="app.url/2">Menu 2</a>
    </li>
    <li>.....</li>
</ul>

当点击a链接时,我想拦截它并添加

menuState = 'state';

$request 容器,然后允许点击事件路由到 href 目标。

现在在 Laravel 端我应该能够访问它的值:

$request->input('menuState');

这是否可能在本质上是 GET 请求上实现,因此不会发布任何表单?

这是添加 URL 变量的示例

<a onclick="addURL(this)" href="app.url/1">Menu 1</a>

function addURL(element)
{
    $(element).attr('href', function() {
        return this.href + '&menuState=10';
    });
}

这可以做到吗?

<a onclick="addURL(this)" href="app.url/1">Menu 1</a>

function addURL(element)
{
   ---> ADD menuState = value to $request container, then continue with GET request
}

最佳答案

好的,我会尝试为您的问题提供更完整的解决方案。

正如您所指出的,您的菜单网址可能应该看起来更好;它们应该包含文字而不是数字(这对搜索引擎优化也有好处)。 <a> href attr 可以设置为相对 url,例如 href='home' 或 href = 'about'。

现在的问题是如何传递所有页面的菜单状态。在这种情况下,您可能不想使用 $request 变量作为菜单状态,我认为应该为不同的页面预先确定。 Controller 应该设置一些菜单状态变量数组,其中包含每个菜单的开/关。 (或者只是一个设置为菜单打开的字符串,但随后您需要循环遍历菜单并进行条件检查,您可以选择)。

在这种情况下,您可能可以使用菜单的 View 编辑器,或者如果您懒的话,只需在 serviceProvider 中使用 view()->share 。检查必要的条件并传递结果。在这种情况下,我认为菜单状态应该从脚本中使用 Route::url() 单独访问的 url 中清晰可见。

编辑: 好的。所以最终我明白了讨论之后发生的事情。这是我的建议。我不会费心尝试保持菜单状态。大多数网站都有悬停效果,菜单在鼠标悬停时展开,然后单击菜单转到您想要查看更多内容的另一个页面,因此菜单应该折叠起来。如果用户确实希望选择将菜单扩展为默认选项,请在其个人资料中将其作为首选项设置。然而,保留切换 JavaScript,因为他们有时可能仍想折叠菜单:)

关于javascript - Laravel 5.2 使用 jQuery 添加变量来请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35110194/

相关文章:

javascript - 使用 Ajax 和 jQuery 检查文件是否存在——总是返回 200 响应

jquery - select2 - 始终下拉而不是下拉

javascript - 删除 id 或 class 但保留样式

javascript - 如何在网页之间存储数据?

Javascript 检查空日期选择器

php - Eclipse 在启动 Xdebug 调试 session 时停止在 57%

php - 是否可以在 mysql 中更新然后插入?

php - 如何使用 php 和 mysql 在数据库中存储 html 元素(包括标签)?

jquery - 在 Rails 中使用 select2 gem

javascript - Firebase - 对于目录中的项目