Maha Waqar
Maha Waqar

Reputation: 643

Unable to call route through javascript function

I am trying to call a laravel route through javascript function. I have explored all the way on internet and over here but I am not finding up my solution. I referred to one answer over stack overflow about how to call route in javascript function but it didn't work for me. My route:

Route::get("edit_contact/{id}",'ContactController@edit');

Javascript function:

    {
         var url = '{{ route("edit_contact",":id") }}';
         url = url.replace(':id', count);
         document.location.href = url;          
    }

count is defined up in javascript which I need to pass in route. Issue is this that it is continuously giving error.. Route [edit_contact] not defined.

All these routes are working fine when hitting through html. I have also tried to call up other routes as well through this, but none is working.

Upvotes: 2

Views: 1069

Answers (5)

Natvarsinh Parmar - bapu
Natvarsinh Parmar - bapu

Reputation: 1138

In route file: (web.php)

Route::get("edit_contact/{id}",'ContactController@edit');

In js code:

Here I used count value 3 just for an example. You can use your actual value of count.

<script>
   var count = 3;

   var baseurl = window.location.protocol + "//" + window.location.host;

   var url = baseurl + '/edit_contact/' + count;            

   document.location.href = url; 

</script>

Upvotes: 0

Julius Fasema
Julius Fasema

Reputation: 902

try this piece. it should work:

Route::get("edit_contact/{id}",'ContactController@edit');

javascript code

<script type="text/javascript">

$("#valueid").change(function(e){

       var id= e.target.value; // the id to be pass
        //alert(id);
        //checking the state of the domain if secured or not
           if ("https:" == document.location.protocol) {
            //alert('secured');
            location.href="https://www.example.com/edit_contact/"+id;
        } else {
            //alert('not secured');
             location.href="http://www.example.com/edit_contact/"+id;
        }

    });

</script>

Upvotes: 0

Kamil Kiełczewski
Kamil Kiełczewski

Reputation: 92417

Try

let count=3
document.location.href = `edit_contact/${count}`;

Upvotes: 0

Akhilesh Sharma
Akhilesh Sharma

Reputation: 1

var routeUrl = route('posts.index');
var routeUrl = route('posts.show', {post: 1337});

// Returns results from /posts
return axios.get(route('posts.index'))
  .then((response) => {
      return response.data;
   });

Upvotes: 0

Rouhollah Mazarei
Rouhollah Mazarei

Reputation: 4153

Name your route like this:

Route::get("edit_contact/{id}",'ContactController@edit')->name('edit_contact');

Upvotes: 1

Related Questions