来自控制器的Ajax成功重定向网址

时间:2019-06-10 05:33:47

标签: php ajax model-view-controller zend-framework

当前页面为Add.phtml ..,单击“保存”按钮时,应将其重定向到index.phtml ..控制器内已经存在的索引页面的URL。 但是我做不到..有人可以指出哪一部分错了吗?

add.phtml

中的JS
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 :(得分:0)

您只是返回url,但从未使用过。如果您的网址有效,则可以更改成功方法以重定向客户端

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

修改
我测试了您的ajax调用,如果您删除dataType: 'json',它看起来很正常。我不知道为什么会导致此问题,但将其删除后应该可以工作。
无论如何,dataType的默认值为Intelligent Guess,因此它将为您自动猜测数据类型

相关问题