目前,我在一个项目上工作,我尝试从AJAX请求获取数据,该方法是" POST"。
这是我的JS代码:
function ajax() {
var form = new FormData();
// Data from contenteditable which is id is "title".
form.append('article[title]', $('#title').html().trim());
// Data from contenteditable which is id is "content".
form.append('article[content]', $('#content').html().trim());
// Data from input checkbox which is id is "article_parution".
form.append('article[parution]', $('#article_parution').val());
// Data from input hiden which is id is "article__token".
form.append('article[_token]', $('#article__token').val());
$.ajax({
method: "POST",
url: '{{ path("add_article") }}', // /admin/add
processData: false,
cache: false,
data: form
})
}
我用过" console.log()"验证数据是否存在,情况就是这样。
问题是当我尝试在我的控制器中使用它时:
$title = $request->request->get('article[title]');
$ title为null,为什么?
此外,此网址(/ admin / add)位于网站上 FosUserBundle 的受保护区域内(用户必须以管理员身份连接才能访问此网站部分)。
答案 0 :(得分:1)
您可以转储您的请求以查看必须获取的内容
dump($request->request);
我认为解决方案是
$request->request->get('article')['title'];
您还可以添加''在您的文章['标题']在Javascript中