Я передаю параметр с помощью JSTL выражения в функцию JS
<c:if test="${product.inStock==1}">
<a id = "product_'${product.id}'/>" class="btn btn-success btn-lg buy_btn" onclick="javascript:addToCart('${product.id}')"><span class = "glyphicon glyphicon-shopping-cart"></span> Buy </a>
</c:if>
Вот сама функция:
function addToCart (productid) {
$.ajax({
type: "GET",
dataType: "json",
url: "http://" + $(location).attr('host') + "/add-to-cart/" +productid
});
}
Проблема в том, что в моем JSP ${product.id}
внутри onclick
не возвращает текущее значение поля объекта, а всегда возвращает ноль:
При этом в других частях JSP ${product.id}
как и нужно возвращает фактическое значение поля id
объекта product
. В чем может быть проблема?
Если заменить через консоль 0
на нужное значение поля id
, запрос от Ajax попадает в контроллер и тот его правильно обрабатывает. Вопрос в том, почему ${product.id}
не хочет передаваться через onclick
?
Данное выражение ${product.id}
выполняется на сервере. Если оно возвращает там значение то оно должно везде. Убедитесь что у вас установлен JSP двигатель и на странице разрешено использовать EL выражения. То что вы смотрите в браузере - это DOM.
Значение DOM может отличаться от результата, сгенерированного на сервере. Для того, чтобы узнать значение возвращаемое на сервере, вам надо использовать отладчик или можно вывести значение напрямую в out
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пару дней назад столкнулся с проблемой - конфликт comandroid
Постепенно изучаю jQuery и учусь писать если не идеально правильный, то хотя бы похожий на него кодЕсть несколько почти идентичных форм на сайте...