How i passed a message when i submit a form to zend framework

I have this action script in My controller:

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();
}

      

And in my index.phtml I have an icon to update, I want when I update, show this message "message"

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

      

I do it, but I don't work;

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


    var data = {
        // user 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
            { 

      

Thanks in advance for you.

+3


source to share


1 answer


If I understand correctly, your question is how to pass values ​​from controller to view.

In a controller, you can like this:

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."
    );
}

      



In your view, you can access these values ​​like

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

      

There might be smarter ways to do this, but this should be a working example close to the code you provided.

0


source







All Articles