我正在设置表格。所有数据都在js文件中检索。如何将这些数据发送到symfony控制器?
我已经尝试过:$request->get('values');
和$request->request->all();
,但实际上都没有。
控制器PHP:
/**
* @Route("/dem", name="dem")
*/
public function index(Request $request)
{
if (isset($request->isXmlHttpRequest())) {
dump(json_decode($request->get('values')));
}
return $this->render('dem/index.html.twig');
}
JS文件:
console.log(values) // response: json of an array of elements
$.ajax({
method: "POST",
url: url,
data: {values: values},
success: data => {
console.log('data : ');
console.log(data);
}
});
HTML表单:
<form id="dem" name="dem" action="{{ path('dem') }}" method="POST" class="w-75 m-auto">
我希望得到元素数组的输出
全部:}
答案 0 :(得分:0)
也许您可以使用$request->getContent();
,它返回请求的原始json。在必须取消序列化之后。
$parametersAsArray = [];
if ($content = $request->getContent()) {
$parametersAsArray = json_decode($content, true);
}
答案 1 :(得分:0)
您的代码在控制器中似乎正确。虽然,您必须在js文件中做一些小的更改:
$.ajax({
url: url,
data: {
values: values
},
type: 'POST',
dataType: "json",
success: function (data) {
console.log('data : ');
console.log(data);
}