无法通过javascript函数调用路由

时间:2019-06-02 11:51:11

标签: javascript laravel routes

我正在尝试通过javascript函数调用laravel路由。我一直在互联网上和这里进行过探索,但没有找到解决方案。我在堆栈溢出中提到了一个关于如何在javascript函数中调用route的答案,但它对我不起作用。我的路线:

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

JavaScript函数:

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

count在javascript中定义,我需要在路由中传递。 问题是它不断出错。 Route [edit_contact] not defined.

通过html时,所有这些路由都可以正常工作。我也试图通过此方法调用其他路由,但是没有任何一条。

5 个答案:

答案 0 :(得分:1)

像这样命名您的路线:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

尝试

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

答案 3 :(得分:0)

尝试一下。它应该工作:

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>

答案 4 :(得分:0)

在路由文件中:(web.php)

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

在js代码中:

在这里,我仅以计数值3为例。您可以使用count的实际值。

<script>
   var count = 3;

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

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

   document.location.href = url; 

</script>