Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.03.2017 23:37:31

Вызвать функцию контроллера средствами JavaScript

Как вызвать функцию с контроллера с параметром средствами JavaScript. Никак не получается и все!


Controller:

    public function archive($id)
    {
      $article = Article::find($id);

      $article->public = 0;
      $article->featured = 0;
      $article->archive = 1;

      $article->save();
    }

И прилагающийся роут:

Route::post('/archive/{id}', 'HomeController@archive');

Буду благодарен ЛЮБЫМ рабочим вариантам. Спасибо!

Не в сети

#2 06.03.2017 11:10:27

Re: Вызвать функцию контроллера средствами JavaScript

если Route:post, то через Ajax,
если Route:get - можно location.href = "/archive/"+id;

Изменено Deviator2001 (06.03.2017 11:11:55)

Не в сети

#3 06.03.2017 11:23:24

Re: Вызвать функцию контроллера средствами JavaScript

Deviator2001 пишет:

если Route:post, то через Ajax,
если Route:get - можно location.href = "/archive/"+id;


Через Route::get все работает замечательно, проблема в том что мне нужно все это сделать не обновляя страницу, а route::get возвращает пустую страницу и приходится в контроллере дописывать Redirect::back().

Если использовать Ajax то я по непонятным причинам получаю ответ 500 (Internal Server Error)

Не в сети

#4 06.03.2017 12:07:22

Re: Вызвать функцию контроллера средствами JavaScript

надо смотреть в код

Не в сети

#5 06.03.2017 15:38:33

Re: Вызвать функцию контроллера средствами JavaScript

Я уже устал писать всем одно и тоже, может мне вынести это в отдельную статью
почему у людей не получается отправлять ajax запросы
потому что нужно посылать прицепом со всеми данными значение токе

 ... '_token':$('#_token').val() ...

и вписывать соответствующий тег на странице

Не в сети

#6 06.03.2017 15:49:29

Re: Вызвать функцию контроллера средствами JavaScript

Dens пишет:

Я уже устал писать всем одно и тоже, может мне вынести это в отдельную статью
почему у людей не получается отправлять ajax запросы
потому что нужно посылать прицепом со всеми данными значение токе

 ... '_token':$('#_token').val() ...

и вписывать соответствующий тег на странице

Я вас прекрасно понимаю, и с радостью сообщаю что присутствие hidden input-a с токеном который отправляется в data выдает тот же 500 Internal Server Error.
Пробовал и в headers его запихать. Ноль на массу ! Сидим с ребятами недоумеваем как и почему!?

Не в сети

#7 06.03.2017 15:55:13

Re: Вызвать функцию контроллера средствами JavaScript

Хммм, у меня почти все проекты с ajax и никогда не было проблем, использую пока laravel 5.3
давайте тогда в студи код js, код html и желательно текст ошибки, до кучи ...
ну а если вы на какой ни будет тестовый сервер повесите это всё дело, где можно пощупать, было бы отлично

Не в сети

#8 06.03.2017 16:00:17

Re: Вызвать функцию контроллера средствами JavaScript

Dens пишет:

Хммм, у меня почти все проекты с ajax и никогда не было проблем, использую пока laravel 5.3
давайте тогда в студи код js, код html и желательно текст ошибки, до кучи ...
ну а если вы на какой ни будет тестовый сервер повесите это всё дело, где можно пощупать, было бы отлично

Хорошо, тестовый сервер попробую найти и функция js скину сюда позже т.к сейчас в дороге

Не в сети

#9 06.03.2017 18:40:14

Re: Вызвать функцию контроллера средствами JavaScript

А что в логе написано?

Не в сети

#10 06.03.2017 19:09:23

Re: Вызвать функцию контроллера средствами JavaScript

DBR пишет:

А что в логе написано?

Лог laravel вообще молчит.
Если подключить token в data , консоль говорит 500, если в headers говорит success но при этом сама функция не вызывается

Изменено MeKree (06.03.2017 19:09:57)

Не в сети

Подвал раздела