laravel how to route to a route on a javascript?

56,534

Solution 1

yes this is possible and has nothing to do with Laravel. There are different possibilities. If your query is embedded within the same laravel view, you put the URL directly in your jQuery code, for example like this:

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

But I think the best option is to add the URL on your button tag as a data attribute and then let jquery go to that URL. That way you can make your buttons more dynamic and have more capsulated code.

One example might be:

<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');
});

That way you can always give a button with the class link-button a data-href attribute with the URL you want to open when the button is clicked and don't have to add additional jquery.

Solution 2

Just output php in your javascript

$(".waitingTime .button").click(function () {
    window.location.href = "<?php echo URL::to('restaurants/20'); ?>";
});
Share:
56,534
Anastasie Laurent
Author by

Anastasie Laurent

Updated on December 18, 2020

Comments

  • Anastasie Laurent
    Anastasie Laurent over 3 years

    I have this jquery

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

    I have a a tag like this:

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

    Can I do the same href action in the jquery function?

    Many Thanks

  • Ivanka Todorova
    Ivanka Todorova about 7 years
    You should use laravel's synthax: {{}}. It applies some cool stuff.
  • w3spi
    w3spi almost 5 years
    Personally, I'm not a fan of this answer, php in javascript, it's rather average