Post json 数据到 symfony2 控制器

Post json data to symfony2 controller

所以我正在尝试 post json 数据到 symfony 控制器。我

$(document).ready(function(){
    $("#submit-button").click(function(){
        $.ajax({  
            type: "POST",  
            url: "/registerTransaction",  
            data: { "data" : 'test' },
            success: function(response) {
                console.log(response);              
            },
            contentType: "application/json",
            dataType: 'json'
        }); 
    });
});

和控制器

<?php

namespace Test\MyBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class TransactionController extends Controller
{
    public function registerTransactionAction()
    {
        $request = $this->container->get('request');
        $data = $request->get('data');
        var_dump($data);
        die;
    }
}

我的 routing.yml 是

test_my_register:
    path:     /registerTransaction
    defaults: { _controller: TestMyBundle:Transaction:registerTransaction }

但我得到的响应都是空的。那我做错了什么?

不得不改变

data: { "data" : 'test' },

data: '{ "data" : 'test' }',

并在控制器中使用

$data = $this->get("request")->getContent();
if(!empty($data)) {
    $params = json_decode($data, true);
}