繁体   English   中英

如何在Symfony 3中获取ajax请求的post参数

[英]How can I get post parameters on ajax request in Symfony 3

我有一个ajax请求工作正常。 我的问题是我真的不知道如何正确使用我的控制器以我想要的格式获取数据。

我想用这种方法:

$request->request->get('pseudo'); // will return "bob"

这是我的控制器代码:

public function mainPlayAction(Request $request)
{

    if ($request->isXmlHttpRequest())
    {
        $allContent = $request->getContent(); // will return a string with this format "selectedBalls=34&selectedStars=11"

        $selectedBalls = $request->request->get('selectedBalls'); // will return null

        $selectedstars= $request->request->get('selectedStars'); // will return null

        $all = $request->request->all(); // will return Array[0]

        $response = [
            'allContent' => $allContent,
            'selectedballs' => $selectedBalls,
            'selectedStars' => $selectedStars,
            'all' => $all,                
            'success' => true,
            "status" => 100
        ];

        return $this->json($response);
    }
}

这是我的ajax代码

$.ajax({
    url: url,
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    type: "POST",
    data: {
        'selectedballs': selectedBalls,
        'selectedStars': selectedStars,
        'countGames': countGames
    },
    success: function (response) {
        window.console.log(response);
    },
})

您只需要在Request对象上调用->get()以获取与AJAX请求一起传递的数据。

像这样,

$selectedballs=$request->get('selectedballs');
$selectedStars=$request->get('selectedStars');
$countGames=$request->get('countGames');

我找到了一个很好的答案。

我从我的ajax请求中删除了这行代码

contentType: "application/json; charset=utf-8"

现在我可以使用我的数据检索

$request->get('selectedBalls');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM