我有这段代码:
<form action="/news" method="post">
<input type="email" name="datas" placeholder="Email" required="">
<input type="submit" value="Subscribe">
</form>
&#13;
在控制器功能中:
use Symfony\Component\HttpFoundation\Request;
# announcing class and blabla
public function news() {
$request = Request::createFromGlobals();
$request->query->get('datas');
$content = $request->getContent();
echo $content.' ';
if(isset($_POST['datas']))
echo $_POST['datas'];
return new Response(
'Lucky number'
);
}
所以当我尝试请求方法时,它返回
email%40.domen
但是当我尝试标准$_POST
时,它会返回
email@.domen
什么错了?如何将%40
更改为@
。当然,我可以使用文本字符进行操作,但它是最好的方法,使用框架无效。
答案 0 :(得分:0)
您不必使用getContent() or ->query()
即可$content = $request->request->get(‘datas’);
查询等价于$ _GET,请求等同于$ _POST
见doc