2016-11-09 2 views
1

Сначала я хочу рассказать вам, как мой проект структурирован в основном. У меня есть мои взгляды и мои контроллеры. Затем в общедоступной папке JS у меня есть jQuery, а также плагин под названием sweealert.Laravel Route, вызванный AJAX, не работает правильно

Теперь я сделал this, поэтому я отправляю запрос ajax контроллеру, который затем возвращает данные (категории abouot).

Теперь у меня есть проблема. У меня 2 разных вида, у одного есть маршрут /addProduct, там все работает нормально. Другой маршрут предназначен для редактирования продуктов, поэтому эти маршруты являются, например, /editProduct/1 для продукта с идентификационным номером. С этой точки зрения использование описанного ajax не работает. Ни подкатегории не переключаются, ни что-либо еще с jQuery. Консоль, говорит мне, почему:

https://localhost/editProduct/js/jquery-3.1.1.min.js Failed to load resource: the server responded with a status of 404 (Not Found) 
https://localhost/editProduct/js/sweetalert.min.js Failed to load resource: the server responded with a status of 404 (Not Found) 
1:4 Uncaught ReferenceError: $ is not defined(…) 

Так Jquery и плагин sweetAlert ищутся в ту папку, так JQuery не работает, вот почему мой успех обратного вызова AJAX не работает больше, а .. Теперь вопрос: ПОЧЕМУ? Пути вроде addProduct работают, но пути с чем-то сзади (например, editProduct/1) не работают? И нет, нет опечаток или чего-либо, что могло бы вызвать проблему, я пытался жестко установить идентификатор продукта для редактирования в коде, поэтому я могу позвонить /editProduct, и это сработало, так что это дополнительный идентификатор, добавленный дополнительно.

Откуда возникает эта проблема (почему она ищет файлы js в неправильном каталоге) и как я могу ее решить?

+0

@RoryMcCrossan https верен, у меня SSL имитируется ... Но это должен быть localhost/js/jquery ..... js, а не localhost/editProduct/js/jquery .... js – nameless

ответ

1

нужно написать URL в ваши сценарии как «/js/jquery-3.1.1.min.js»

+0

omg, что работает ... До (при включении скриптов) у меня был './js/jquery-3.1.1.min.js', поэтому относительная часть ... Это просто ^^ спасибо .. – nameless

3

вы загружаете скрипты неправильно. Использование

<script src="{{ asset('js/jquery-3.1.1.min.js') }}"></script>

, чтобы всегда что ваши скрипты не будут загружены правильно, независимо от того, что URL вы на.

Смотрите также: https://laravel.com/docs/5.3/helpers#method-asset

И https://laravel.com/docs/5.3/helpers более удивительным вспомогательных функций.

Смежные вопросы