当前位置: 首页 > 知识库问答 >
问题:

Symfony控制器无法接收AngularJS表单发布数据

艾文斌
2023-03-14

试图将$http.post请求从AngularJS表单发送到Symfony控制器以将表单内容添加到数据库。我可以在AngularJS侧获得"状态"200的成功响应。

但是,在Symfony控制器上,$request-

另外,安装了FOSRestBundle并启用了body listener、param fetcher listener。

我知道我的问题与AngularJS对Symfony控制器的POST Ajax请求重复,但是这篇文章的两个答案对我不起作用。

我的博客。html。细枝

<form name="replyForm" ng-submit="sendReply(blog.id)">
Preview: {{'{{reply.content}}'}} <br><br>
My Reply: <input type="text" name="content" ng-model="reply.content" />
<input type="submit" value="Reply" />                  
</form>

博客js,

$scope.reply = {};  
$scope.sendReply = function(blogId){
    $scope.reply.blog = blogId;
    $http.post('http://localhost/app_dev.php/blogReply', $scope.reply, {'Content-Type': 'application/x-www-form-urlencoded'})
    .then(function(data){
        $scope.message = angular.fromJson(data);            
    }, function(data){
        $scope.message = angular.fromJson(data) || "Request failed";
    });
    $scope.reply = {};
}

Symfony blogController,

/**
* @Route("/blogReply", name="blogReply")
*/
public function replyAction(Request $request){
    $data = $request->request->get('data', 'default value if data does not exist');
    return new Response ($data); 
}

结果是“数据不存在时的默认值”。

共有1个答案

商柏
2023-03-14
public function replyAction(Request $request) {
$data = json_decode($request->getContent(), true);
$request->request->replace($data);

echo $request->request->get('foosdaasd');
}
 类似资料:
  • 问题内容: 我必须承认我有点困惑…我以前从未做过,而且我显然缺少一些东西 当我通过http.post将数据传递到我的php文件时,我似乎无法收集数据… 有人可以告诉我为什么这行不通吗? FormData会显示在控制台日志中,并且可以确定正在写入文件。但是,看起来好像没有数据传递。 这是在我的php文件中。试图将提交表单中的数据写入文件中(只是测试)。 问题答案: 经过大量研究后,我发现这有点像ph

  • 问题内容: 我正在尝试使用CodeIgniter开发我的项目的前端客户端。 但是带有CI的ajax使我感到困惑。 这是我的ajax: 和控制器: 现在,我可以通过数组索引获取帐户和密码,但是如何将接收到的数据转换为Object,这样我就可以获得属性: 谢谢! 问题答案: 更改您的ajax: 更改您的控制器: 希望这项工作对您有帮助…

  • 问题内容: 我正在使用bootstrap-ui更具体地说是模态窗口。我有一个模态表单,我想要的是实例化表单验证对象。所以基本上我是这样做的: 我可以毫无问题地在html文件中看到表单对象,但是,如果我想从控制器访问表单验证对象。它只是向我输出空对象。这是控制器示例: 我无法从控制器访问的原因可能是什么? 问题答案: 仅对于那些未在控制器中使用而是使用的用户,您必须在表单名称之前添加控制器别名。例如

  • 我需要实现一个RESTendpoint,它接收我使用的多部分/表单数据: Spring防尘套 科特林 SpringMVC 提交包含以下部分的多部分表单: 部署名称------文本/普通 启用重复筛选------文本/普通 仅更改部署------文本/普通 部署源------文本/普通 租户id------文本/普通 *----应用程序/八位字节流 Rest控制器看起来是这样的: 对于所有有效的参数

  • 问题内容: 我在python中有以下要求 发送文件,并将表单字段发送到后端。如何使用Angular $ http进行相同操作(发送文件+表单字段)。目前,我确实喜欢这样,但也不确定如何发送文件。 问题答案: 我最近写了一条指令,支持本地多个文件上传。我创建的解决方案依赖于服务来填补$ http服务所标识的空白。我还包含了一条指令,该指令为您的angular模块提供了一个易于使用的API,用于发布文

  • 问题内容: 使用express 3.1.0,我有一个非常简单的形式: 并在app.js中: 尝试发布此表单时,我得到: 并在控制台中: 我在这里想念什么? 问题答案: 您的示例对我有用。我删除了对用户,用户和路由的引用,以便可以运行它,并且HTTP POST已接收并正确显示在控制台中。 我怀疑该错误是在您的User.addUser()代码中。