file_get_contents (php: // input) - получает необработанные данные POST, и вам нужно использовать их, когда вы пишете API и вам требуется ввод XML / JSON / ..., который не может быть декодирован в $ _POST PHP
пример:
отправить по почте JSON string
<input type="button" value= "click" onclick="fn()">
<script>
function fn(){
var js_obj = {plugin: 'jquery-json', version: 2.3};
var encoded = JSON.stringify( js_obj );
var data= encoded
$.ajax({
type: "POST",
url: '1.php',
data: data,
success: function(data){
console.log(data);
}
});
}
</script>
1.php
//print_r($_POST); //empty!!! don't work ...
var_dump( file_get_contents('php://input'));