Ajax при успешном перенаправлении URL с контроллера - PullRequest
0 голосов
/ 10 июня 2019

Текущая страница - Add.phtml..при нажатии кнопки сохранения, она должна быть перенаправлена ​​на index.phtml.. URL для страницы индекса, уже находящейся в контроллере. но я не могу сделать это .. кто-нибудь может указать мне, какая часть не так?

JS внутри add.phtml

function addMembAndAppDetail(){
        var m_register = 0;
        if($('input[name="register"]').is(':checked'))
        {
             m_register = 1;
        }
        var m_active = 0;
        if($('input[name="status"]').is(':checked'))
        {
            m_active = 1;
        }

        $.ajax({
            url: '/membership/membership-setup/ajax-add-multiple/',
            type: 'POST',
            async : false,
            data: {
                        'm_owner' : $('#m_owner').val(),

            },
            dataType: 'json',
            success: function(response){
                 window.location.href = response.url;
            }
        });
    }

Внутренний контроллер

    public function ajaxAddMultipleAction(){

        $auth = Zend_Auth::getInstance();
        $data = array(
            'm_owner' => $this->_getParam('m_owner', null)
        );

        $membershipDb = new Membership_Model_DbTable_TblMembership();
        $membershipDb->addData($data);

        $this->_helper->flashMessenger->addMessage(array('success' => "Record saved"));
        $url = $this->_redirect($this->baseUrl . '/membership/membership-setup/index');


        echo json_encode(array('msg'=>"Success.", 'url'=>$url, 'status'=>true));
    }

1 Ответ

0 голосов
/ 10 июня 2019

Вы просто возвращаете URL, но никогда не использовали его. если ваш URL-адрес действителен, вы можете изменить свой метод успеха, чтобы перенаправить клиента

success: function(response){
    window.location.href = response.url
}

Редактировать
Я проверил ваш вызов ajax, и похоже, что если вы удалите dataType: 'json', он отлично работает. Я не знаю, почему это вызывает проблему, но после удаления это должно работать.
anyways dataType значение по умолчанию - Intelligent Guess, поэтому он будет автоматически угадывать тип данных для вас

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