1

所以我试图将 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 }

但我得到的只是响应无效。那么我做错了什么?

4

1 回答 1

2

不得不改变

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

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

并在控制器中使用

$data = $this->get("request")->getContent();
if(!empty($data)) {
    $params = json_decode($data, true);
}
于 2015-05-05T20:31:13.960 回答