У меня есть выпадающий список, и когда я выбираю значение из этого выпадающего списка, я пытаюсь отправить из address.tpl ajax-запрос на адрес AddressController.php.
Не могу найти, какотправьте форму на правильный URL-адрес (URL-адрес контроллера, его путь: /public_html/override/controllers/front/AddressController.php)
Мой запрос ajax, который находится в address.tpl
<script>
{literal}
var uriAddress = 'index.php?controller=AddressController&action=example&token=922fb5c427f8abfa1eaf7aa175c9529b';
$('#id_state').change( function() {
$(this).find(":selected").each(function () {
city = $(this).text();
});
$.ajax({
url : uriAddress,
type : 'POST',
async: true,
cache: false,
dataType : "json",
data: {
city: city
},
success : function (result) {
console.log(result);
}
});
});
{/literal}
</script>
А это мой AddressController.php
public function displayAjax()
{
if (count($this->errors))
{
$return = array(
'hasError' => !empty($this->errors),
'errors' => $this->errors
);
die(Tools::jsonEncode($return));
}
if(Tools::getValue('MyControllerAction')=='myMyControllerAction')
{
$cities = array();
$sql = 'SELECT judet, localitate FROM sdn_fancourier_cities WHERE judet = "alba"';
if ($results = Db::getInstance()->ExecuteS($sql))
foreach ($results as $resultCity) {
array_push($cities, $resultCity);
}
$this->context->smarty->assign(array(
'city_list' => $cities,
));
return json_encode($this->context->smarty->assign(array(
'city_list' => $cities,
)));
}
}