Невозможно вызвать маршрут через функцию javascript - PullRequest
2 голосов
/ 02 июня 2019

Я пытаюсь вызвать маршрут laravel через функцию javascript. Я изучил весь путь в Интернете и здесь, но я не нахожу свое решение. Я сослался на один ответ о переполнении стека о том, как вызывать route в функции javascript, но он не сработал Мой маршрут:

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

Функция Javascript:

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

количество определяется в JavaScript, который мне нужно передать в маршруте. Проблема в том, что он постоянно дает ошибку .. Route [edit_contact] not defined.

Все эти маршруты работают нормально при попадании через html. Я также пытался вызвать другие маршруты через это, но ни один не работает.

Ответы [ 5 ]

1 голос
/ 02 июня 2019

Назовите свой маршрут так:

Route::get("edit_contact/{id}",'ContactController@edit')->name('edit_contact');
0 голосов
/ 03 июня 2019

В файле маршрута: (web.php)

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

В коде js:

Здесь я использовал значение счетчика 3 только для примера.Вы можете использовать фактическое значение счета.

<script>
   var count = 3;

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

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

   document.location.href = url; 

</script>
0 голосов
/ 02 июня 2019

попробуйте этот кусок. должно работать:

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>
0 голосов
/ 02 июня 2019

Попробуйте

let count=3
document.location.href = `edit_contact/${count}`;
0 голосов
/ 02 июня 2019
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;
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...