当我在zend框架1上提交表单时,我是如何传递消息的

时间:2015-04-17 09:06:25

标签: php json zend-framework

我在我的控制器中有这个脚本动作:

if($user->editUser($data)) {
    echo json_encode(
        array(
            "response"  =>  true,
            "message"   =>  "L'utilisateur " . $data['lastnameUser'] 
                            . " " . $data['firstnameUser'] . "a été modifié"
        )
    );
    exit(); 
} else {
    echo json_encode(
        array(
            "response"     => false,
            "errorMessage" => "Il y a eu une erreur dans l'edition de l'utilisateur."
        )
    );
    exit();
}

在我的index.phtml中,我有一个更新图标,我想在更新时显示此消息“消息”

"L'utilisateur " . $data['lastnameUser'] . " " . $data['firstnameUser'] . "a été modifié"));

我这样做但不起作用;

$('#editUser').submit(function(event)
{
    var formId = $(this).attr('id');


    var data = {
        // user's properties 
        genderUser              :       $("#genderUser").val(),

        langUser                :       $("select[name='langUser']").val(),
        rankUser                :       $("#rankUser").val()
    };  

    $.ajax({
        url: $('#'+formId).attr('action'),
        dataType: 'json',
        type: 'POST',
        data: data,
        success: function(data, textStatus, XMLHttpRequest)
        {                    
            if (data.response == true)
            {
                alert(data.message);

            }
            else
            { 

先谢谢你。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您的问题就是如何将值从Controller传递给View。

在控制器中,您可以像这样

if($user->editUser($data))
{
    $this->view->output= array(
        "response"  =>  true,
        "message"   =>  "L'utilisateur " . $data['lastnameUser'] . " " 
                        . $data['firstnameUser'] . "a été modifié"
    );
}else{
    $this->view->output = array(
        "response" => false,
        "errorMessage" => "Il y a eu une erreur dans l'edition de l'utilisateur."
    );
}

在您的视图中,您可以访问这些值,例如

if($this->output['response'] === true) {
    echo $this->output['message'];
} else {
    echo $this->output['errorMessage'];
}

可能有更聪明的方法,但这应该是一个接近您提供的代码的工作示例。