laravel如何通过javascript路由到路由?

时间:2014-06-22 17:22:26

标签: php laravel laravel-4 blade

我有这个jquery

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

我有一个a标签,如下所示:

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

我可以在jquery函数中执行相同的href操作吗?

非常感谢

3 个答案:

答案 0 :(得分:14)

是的,这是可能的,与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。

答案 1 :(得分:1)

只需在你的javascript中输出php

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

答案 2 :(得分:0)

如果js中的需要变量可以使用此

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