#javascript #jquery #laravel
Вопрос:
Я хочу отобразить карту поиска. Но я продолжаю получать уведомление «неопределенная переменная: req». Что я должен изменить в своем следующем коде:
var jQuery_1_8_2 = jQuery.noConflict(); $(function () { var array = JSON.parse('{!! !empty($total_search_query) ? json_encode($total_search_query) : "[]" !!}'); console.log(array); $('#map2').vectorMap({ map: 'indonesia-adm1_merc', backgroundColor: '#ADF3F0', regionStyle: { initial: { fill: '#FFFFFF' }, hover: { fill: '#175083' } }, zoomButtons: false, zoomOnScroll: false, zoomOnClick: false, zoomMax: 1, normalizeFunction: 'polynomial', onRegionClick: function (event, code) { var url = '{{ route("search", ["q" =gt; $req-gt;input("q"), "province" =gt; ":id"]) }}'; url = url.replace(":id", code.toLowerCase()); window.location.href = url; }, onRegionTipShow: function (event, label, code) { var map = $('#map2').vectorMap('get', 'mapObject'); var regionName = map.getRegionName(code); var a = array.find(a =gt; a.name === myTrim(regionName))['count']; label.html('lt;div class="map-tooltip"gt;lt;h4 class="header"gt;' regionName 'lt;/h4gt;lt;p class="description"gt;Total: ' a 'lt;/pgt;lt;/divgt;'); } }); }(jQuery_1_8_2));
Комментарии:
1. Вам нужно перейти
$req-gt;input("q")
тудаrequest()-gt;get("q")
, где вы создаете URL-адрес из маршрута вonRegionClick
функции2. Поделитесь с нами контроллером, пожалуйста.
3. @UrjaSatodiya спасибо. это работает! все еще в том же коде. Почему URL, который я получаю, всегда показывает «amp;amp;»? Мне просто нужно «amp;» в URL-адресе. Как мне изменить URL-адрес? пример: » 127.0.0.1:8000/cari?q=запрос и amp;province=13 и страница=1 «, я хочу изменить его на » 127.0.0.1:8000/cari?q=запрос и провинция=13 и страница=1 »
4. @niasanny Что делает эта строка
url = url.replace(":id", code.toLowerCase());
в той же функции?5. @UrjaSatodiya без этого кода
url = url.replace(":id", code.toLowerCase());
я не получилhttp://127.0.0.1:8000/cari?q=queryamp;amp;province=:idamp;page=1
. итак, я поместил этот код для замены :id
Ответ №1:
Проблема заключается в $req-gt;input("q")
части, которую вы можете определить, посмотрев на сообщение об ошибке, в котором жалуется $req
на то, что оно не определено. Причина в том , что в вашем коде Laravel в каком-то месте вы сохранили результат request()
в вызываемой переменной $req
, которая в данном контексте не существует. Это часть представления, в то время как вы, вероятно, проанализировали результат request()
в своем контроллере. В результате вам понадобится
request()-gt;input("q")
вместо.