al menos esto a mi me funciona.
Código PHP:
<?php
$content = file_get_contents('php://input');
echo $content;
?>
Código:
// desde la consola ;
var rq = new XMLHttpRequest();
rq.open('post', 'url', true);
rq.setRequestHeader('Content-Type', 'application/json');
rq.send('{"payload":"data"}');
el ejemplo anterior me regresa justo lo que le envio por send.
http://phpscripting.awardspace.us/payload/