laravel 如何在 javascript 上路由到某个路径?

问题描述 投票:0回答:4

我有这个jquery

$(".waitingTime .button").click(function () {
    alert("Ema");
});

我有一个像这样的

a
标签:

<a href="{{ URL::to('restaurants/20') }}"></a>

我可以在 jquery 函数中执行相同的

href
操作吗?

非常感谢

php laravel laravel-4 laravel-blade
4个回答
26
投票

是的,这是可能的,与 Laravel 无关。 有不同的可能性。如果您的查询嵌入在同一个 Laravel 视图中,则可以将 URL 直接放入 jQuery 代码中,例如如下所示:

$(".waitingTime .button").click(function () {
  window.location.href = "{{URL::to('restaurants/20')}}"
});

但我认为最好的选择是在按钮标签上添加 URL 作为数据属性,然后让 jquery 访问该 URL。这样您就可以使按钮更加动态并拥有更多封装的代码。

一个例子可能是:

<div class="waitingTime">
  <button class="button link-button" data-href="{{URL::to('restaurants/20')}}">
  Click me
  </button>
</div>

$(".link-button").click(function () {
  window.location.href = $(this).data('href');
});

这样,您始终可以为一个带有

link-button
类的按钮提供一个
data-href
属性,其中包含单击按钮时要打开的 URL,而不必添加额外的 jquery。


2
投票

只需在 JavaScript 中输出 php

$(".waitingTime .button").click(function () {
    window.location.href = "<?php echo URL::to('restaurants/20'); ?>";
});

0
投票

如果需要来自js的变量可以使用这个

if(data.cookies == 0){
                  location.replace("{{ route('delivery') }}?id="+id);
                    }

0
投票

在 Laravel 中,我们可以通过 URL 部分决定如何在 Jquery 中路由:

var url = $(location).attr('href');
parts = url.split("/");
id= parts[parts.length-1];
name= parts[parts.length-2];

if(id == 'xxxx') {
  window.location.href = "{{ route('route_name') }}?id="+id+"&name="+name;
}else{
    //do something
};
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.