У меня есть приложение angularJS + PHP. Чего я хотел бы добиться, так это «Полный пост» запрос к контроллеру Phalcon PHP.
Угловой:
$http.post('/controller/sampleAction/', {params}).
success(function(data, status, headers, config) {
}).
error(function(data, status, headers, config) {
});
Phalcon PHP:
public function sampleAction()
{
ControllerBase::indexAction();
if ($this->request->isPost() == true) {
// Access POST data
$this->view->paramA = $this->request->getPost("paramA");
$this->view->paramB= $this->request->getPost("paramB");
}
}
Я получаю к контроллеру phalcon, устанавливаю параметры моего представления, но представление не отображается, потому что это AJAX-запрос. Как я могу по-прежнему использовать функцию POST и перенаправлять / отображать представление sampleAction?
Вот мои выводы и решение для моей проблемы:
Видимо Phalcon делает вернуть вид.
Причиной того, что представление не было обработано как полный ответ обратной реакции, является то, что Angular является Одна страница JS Framework, поэтому, если я хочу использовать его, я должен соответствующим образом собрать свое приложение.
Таким образом, вместо того, чтобы запрашивать у Phalcon полную страницу, я изменил свою архитектуру, поэтому я буду получать только соответствующие данные Json из Phalcon, в то время как представление выполняется исключительно в angularJS с использованием директивы.
но представление не отображается, потому что это AJAX-запрос
Ложь. Если только вы не отключили просмотр самостоятельно в случае запроса ajax. Проверьте свой код, поделитесь с нами, что происходит в ControllerBase::indexAction()
И в initialize()
если определено и что-то связано с запросами / просмотром.