Dealing with ajax Request
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 ? |
Re: Dealing with ajax Request
Hi @Alex,
Add the following code: Code:
$this->translateTopMessagesToHTTPHeaders(); anywhere after this one: Code:
\XLite\Core\TopMessage::addInfo( in your controller class. Tony Quote:
|
All times are GMT -8. The time now is 11:48 PM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.