Hi @Alex,
Add the following code:
Code:
$this->translateTopMessagesToHTTPHeaders();
anywhere after this one:
Code:
\XLite\Core\TopMessage::addInfo(
'Your delivery date is ' . date('d-M-Y', $deliveryDate)
);
in your controller class.
Tony
Quote:
Originally Posted by Soptareanu Alex
I need to show a message on page after an ajax request is done. In my controller I use \XLite\Core\TopMessage::addInfo() interface, but the message I can see only if I reload the page after recive the response from server.
This is my controller :
if($this->isAJAX()){
$return = array(
'deliveryDate' => 'Some data',
'orderId' => 'Some data
);
$return = json_encode($return);
header('Content-Type: application/json; charset=UTF-8');
header('Content-Lenght: '.strlen($return));
header('ETag:' . md5($return));
\XLite\Core\TopMessage::addInfo(
'Your delivery date is ' . date('d-M-Y', $deliveryDate)
);
echo $return;
}
die();
}
And this is the function responsable to do the ajax request
function changeDate(_deliveryDate, _orderId){
//console.log(_deliveryDate);
//popup.openAsWait();
var shippingMethods = jQuery('.embed_calendar');
assignShadeOverlay(shippingMethods, true);
core.post(
URLHandler.buildURL({
target : 'calendar',
action : 'changedate',
deliveryDate: _deliveryDate,
orderId : _orderId
})
).done(function(response){
//console.log(response);
//popup.close();
var shippingMethods = jQuery('.embed_calendar');
unassignShadeOverlay(shippingMethods, true);
})
}
Is there a posibility to view the message after the request is done in this mode ?
|