Случайно забыл поменять тип запроса с 'GET' на 'POST', но данные успешно отправились на сервер!
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.setRequestHeader('Content-type', 'application/json');
xhr.send('{"name":"' + name + '","age":"' + age + '"}');
В связи с этим два вопроса:
1) Получается, не имеет значения что указывать - "GET" или "POST" - важно только что передается в .send() ?
2) Если не использовать JSON.stringify() то тогда как нужно подготовить json-данные перед отправкой?