Результаты возвращаются в json и загружаются в модальное окно. Все работает, но есть загвоздка - если перейти в браузере по маршруту /searchSimple, то вылезает ошибка no message. Вопрос - как правильно писать роуты для ajax в Laravel? Мне ведь вообще не нужно, чтобы при переходе в браузере по этому маршруту что-то открывалось. Не понимаю. Знаю, вопрос глупый, но вот так вот. Заранее спасибо.
belorusovbelorus, дорогой пользователь, настоятельно рекомендуем еще раз обратить самое пристальное внимание на п. 3.1 регламента работы сервиса (и, в особенности, на его последний абзац).
В противном случае, ваши вопросы будут удаляться по причине тег-спама, а систематические нарушения приведут к блокировке учетной записи.
Можно так. Мидлварь - подключить и указывать для нужных роутов.
namespace App\Http\Middleware;
use Closure;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
class AjaxOnly
{
public function handle($request, Closure $next)
{
if(!$request->ajax()){
throw new BadRequestHttpException('This resource only accepts an ajax requests');
}
return $next($request);
}
}
Но лучше сделать чтобы /searchSimple показывал форму поиска. И поиск делать через GET, кстати.
Как я понимаю вы хотите чтобы через ajax работало, а через браузер нет?
Браузер по умолчанию дергает GET, а у вас POST, поэтому через браузер будет ошибка.