Дополнительная информация к моему предыдущему вопросу How to access a variable in my Service Теперь я пытаюсь получить доступ к Сервису из моего помощника по представлению через запрос Ajax.Zend Framework 2 Access Service через Ajax Request
Я добавил дополнительный метод в BookmarkAdvertService(), чтобы добавить закладку.
public function saveAdvertBookmark($advertId)
{
$bookmark = new Bookmark();
$userId = $this->getUserEntity()->getId();
$bookmark->setUserId($userId);
$bookmark->setAdvertId($advertId);
# write new bookmmark to database tbl bookmark
$this->getEntityManager()->persist($bookmark);
$this->getEntityManager()->flush();
}
В моей частичной я добавил ссылку
<?php if($bookmarkStatus==true){ ?>
Saved !
<a href="#" id="remove-bookmark">Remove Bookmark</a>
<?php }else{ ?>
<a href="#" id="add-bookmark">Add Bookmark</a>
<?php }?>
<script>
$("#add-bookmark").click (function() {
$.ajax({
dataType: 'json',
url: '/add-bookmark',
success: function(response) {
window.location.reload(true);
}
});
});
});
<script>
- Можно ли получить доступ к Method в службе по запроса Ajax? До сих пор я всегда получал доступ только к контроллеру через запрос Ajax .
- Я полагаю, что я должен передать идентификатор объявления через Ajax, а также данные: {id: advertId}, что означает, что я должен писать и читать рекламу через jQuery, или есть другой способ получить его в моей службе?
Это, наверное, действительно глупый вопрос, но я все еще боюсь, когда пользуюсь Службой. Заранее спасибо за любую помощь.
Благодарим за быстрый ответ. Хорошо, поэтому я не могу прыгнуть прямо к Сервису, если я правильно понимаю. Это на 100% уверен? Было бы слишком плохо, если это так ... В противном случае я попытаюсь реализовать свое решение. – Luka
Нет, вы не можете. zf2, сконструированный таким образом, каждый запрос будет сначала попытаться сопоставить маршрутизатор и получить контроллер и действие, если есть совпадение. – taxicala
О, хорошо, и чтобы снова подтвердить, мне нужен маршрут для AJAX Link? – Luka