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.