Recuperando dados POST de Backbone.js em PHP

O Backbone pronto para uso não envia dados POST como os frameworks AJAX normais. Você não pode acessar as informações com a superglobal $ _POST.

Por exemplo, se você deseja enviar a seguinte string JSON:

{"id" : 4 , "description" : "i<3Backbone"}

Isso não está acessível em:

$_POST['id'] // doesn't exist
$_POST
['description'] // doesn't exist

Em vez disso, a maneira de acessar essas informações é verificar seu fluxo de entrada para a string JSON bruta que o Backbone enviou:

$var = json_decode(file_get_contents('php://input'), true); 
// returns associative array

Agora, a vida fica mais fácil para você:

$var['id'] == 4; //true
$var
['description'] == "i<3Backbone"; //true

Você pode alterar a maneira como o Backbone envia essas informações por padrão, por meio de seus parâmetros emulateHTTP ou emulateJSON.