Как вы различаете AJAX GET и AJAX POST-запрос в CakePHP? - PullRequest
0 голосов
/ 15 января 2012

В моем приложении CakePHP для моего метода входа я делаю несколько разных вещей, когда пользователь отправляет форму через вызовы AJAX, используя if ($this->request->is('ajax'))

Однако я также хочу, чтобы метод входа в систему отображался в модале для быстрого входа в систему, который снова является вызовом ajax. Но как мне определить разницу между AJAX GET для отображения формы и AJAX POST для фактического входа в систему?

См. Ниже, я могу обнаружить нативные get и posts, но для ajax как мне определить разницу в CakePHP ??? Как мне кажется, я могу обнаружить только событие ajax, а не тип: /

NATIVE:

GET = if ($this->request->is('get'))
POST = if ($this->request->is('post'))


AJAX:

GET = if ($this->request->is('ajax'))
POST = if ($this->request->is('ajax'))

Спасибо

Ответы [ 2 ]

2 голосов
/ 15 января 2012

Решение:

if ($this->request->is('get'))
        {
            if ($this->request->is('ajax'))
            {
                echo json_encode('ajax get'); exit;
            }
            else {
                echo 'Normal get'; exit;
            }

        }

        if ($this->request->is('post'))
        {   
            if ($this->request->is('ajax'))
            {
                echo json_encode('ajax post'); exit;
            }
            else {
                echo 'Normal post'; exit;
            }
        }
0 голосов
/ 15 января 2012

Не уверен, что я понимаю вопрос, но если проблема в том, что данные формы могут входить либо в виде POST, либо в GET, решение состоит в том, чтобы проверить, есть ли данные POST.Если это так, используйте POST, иначе получите данные из GET.(Или наоборот.)

Если функция должна делать разные вещи в зависимости от того, была ли форма отправлена ​​как POST или GET, просто выполните две разные функции в контроллере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...