Нашел пример, корявый, давно писан, но суть передает.
link_onload = function(res) {
try {
if(res.status!=200)
throw res.status+' '+res.statusText;
var data=JSON.parse(res.responseText);
/* redirect */
if(typeof data.Location!==U) {
W.removeEventListener('beforeunload',saving_tip,false);
return W.location.assign(data.Location);
}
/* update some elem */
else if(typeof data.element_id!==U) {
/* далее идут проверки на что еще годится респонзе */