Ранее я опубликовал вопрос, в котором спрашивалось о возможности получить выбранное значение элемента selectBox и присвоить его сервису, вызываемому в ветке.
После некоторых исследований мне удалось воплотить в жизнь то, что предложили некоторые ребята.
Используя ajax, я отправил выбранное значение на мой php-контроллер, который отправил обратно выбранное значение на мой интерфейс, и вы можете увидеть переменную!
вот вызов ajax:
<script>
$(document).ready(function () {
$('listFolders1').on('change', function() {
var selected = $('#listFolders1 :selected').text();
$.ajax({
type: "POST",
url: "{{ path('ess') }}",
data: selected,
success: function (response) {
console.log(response);
},
error: function (response, xhr, status) {
alert("error" + status);
}
});
});
});
</script>
и вот мой контроллер
public function essAction(Request $request)
{
$data = $request->request->get('data');
return $this->render('PrestaShopTestBundle:Test:full.html.twig', array(
'data' => $data,
));
//return new Response($data);
}
и, конечно, это мой файл маршрутизации
ess:
path: /ess
defaults: { _controller: PrestaShopTestBundle:Test:ess }
Я пытаюсь отобразить мою переменную вот так:
{% if data is defined %}
{{ data }}
{% endif %}
ошибок нет, просто игнорирует меня. Ничего не происходит, даже URL не меняется.
PS: ListFolders - это мой SelectBox