View Single Post
  #1  
Old 03-14-2018, 02:49 AM
 
Soptareanu Alex Soptareanu Alex is offline
 

Member
  
Join Date: Sep 2016
Posts: 24
 

Default 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 ?
__________________
alex
Reply With Quote