Jquery Autocomplete работает на локальном, но не на производстве - PullRequest
0 голосов
/ 14 мая 2018

Я отрываю голову от клавиатуры, пытаясь понять это.

У меня есть веб-сайт, использующий функцию автозаполнения пользовательского интерфейса jquery в одном поле в форме поиска.Очень просто, просто вытащить список из массива, никаких серверных вещей не происходит вообще.Код в основном берется непосредственно со страницы примеров Jquery UI (https://jqueryui.com/autocomplete/).

В моей локальной среде разработки, которая использует Laravel на Homestead, он работает безупречно. Но на сервере (с идентичным кодом) он вообще не работает. Внутри консоли нет ошибок, поэтому почти невозможно сказать, что здесь происходит не так. У меня есть другие сайты на этом же сервере, которые используют автозаполнение без проблем, что делает его еще более странным.

Вот код:

Для поля формы

<label for="subdivisons">Subdivision</label>
<input type="text" id="subdivisons" name="subdivision" class="form-control" value="{{ old('subdivision') }}" placeholder="Choose a subdivision">

И это функция jquery из нижнего колонтитула:

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

<script>
$( function() {
  var available_subdivisions = [
    "CAPE HAZE WINDWARD",
    "CLUBHOUSE",
    "EAGLES PRESERVE SUBDIVISION",
    "FIDDLERS GREEN",
    "FIDDLERS GREEN NATURE TRAIL",
    "FIDDLERS GREEN RIVERVIEW",
    "FIDDLERS GREEN TALL PINES",
    "LEMON TREE",
    "OAKLAND HILLS SEC",
    "PINEHURST",
    "PORT CHARLOTTE SUBS",
    "PRESERVE AT WINDWARD PH1",
    "RIVERHOUSE",
    "ROTONDA BROADMOOR",
    "ROTONDA HEIGHTS",
    "ROTONDA LAKES",
    "ROTONDA RIVER CONDO",
    "ROTONDA SHORES",
    "ROTONDA WEST BROADMOOR",
    "ROTONDA WEST LONG MEADOW",
    "ROTONDA WEST OAKLAND HILL",
    "ROTONDA WEST OAKLAND HILLS",
    "ROTONDA WEST PEBBLE BEACH",
    "ROTONDA WEST PINE VALLEY",
    "ROTONDA WEST PINEHURST",
    "ROTONDA WEST WHITE MARSH",
    "SOUTH GULF COVE",
    "SUNSET VILLAGE AT ROTONDA WEST",
    "TOWNHOMES AT CAPE HAZE"
  ];
$( "#subdivisons" ).autocomplete({
    source: available_subdivisions
  });
});
</script>

Опять же, этоэто в основном та же самая вещь, которая используется на странице примеров автозаполнения jquery, и она отлично работает на моем локальном dev-сервере. Никаких ошибок консоли. Я проверил все элементы src, чтобы убедиться, что они были связаны правильно. И снова я используюАвтозаполнение на нескольких других веб-сайтах, размещенных на этом сервере, с той лишь разницей, что они используют удаленный источник данных.Скорее, чем вытащить из массива, но я не думаю, что это будет проблемой.Я просто не могу понять это.

Спасибо!

1 Ответ

0 голосов
/ 16 февраля 2019

Оказывается, что мой массив available_subdivisions был включен как в главное представление макета, так и в расширенное представление. Как только я удалил его из расширенного представления, он функционирует отлично, как и должно. Глупая ошибка с моей стороны.

...