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 to share