当前位置: 首页 > 面试题库 >

如何通过symfony2控制器获取Ajax发布请求

闻人越
2023-03-14
问题内容

我发送这样的短信

html标记

<textarea id="request" cols="20" rows="4"></textarea>

JavaScript代码

var data = {request : $('#request').val()};

$.ajax({
    type: "POST",
    url: "{{ path('acme_member_msgPost') }}",
    data: data,
    success: function (data, dataType) {
        alert(data);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert('Error : ' + errorThrown);
    }
});

symfony2控制器代码

$request = $this->container->get('request');
$text = $request->request->get('data');

$text为空…

我已经尝试通过Firefox HTTP请求测试器进行普通的发布请求(不是Ajax)。

/app_dev.php/member/msgPost

控制器工作并$text具有价值。

所以我认为php代码还可以,但是Ajax方面存在问题

成功地调用’success:function’。

您如何获取javascript数据结构的内容?


问题答案:

首先,您无需访问控制器中已实现的容器 ContainerAware

所以基本上,您的代码应该像这样 Controller.php

public function ajaxAction(Request $request)
{
    $data = $request->request->get('request');
}

另外,通过console.log(data)在应用程序的JS中使用,确保发送的数据不为null 。

最后是您的问题的答案
:您没有使用正确的变量,需要访问的值,$('#request').val()但将其存储在request变量中,并data在控制器中使用了变量名。

考虑更改变量的名称,因为它很混乱。



 类似资料:
  • 问题内容: 我使用ASP.NET-MVC。我尝试在ajax中发布数组,但是我不知道如何在我的控制器中获取它。这是我的代码: 阿贾克斯 我的控制器 为什么我看不到台词?如何正确发布此数组并在MyAction中使用它? 问题答案: 设置选项和参数: 如果在业务案例中有意义,您还可以设置要获取的对象的类型。例: 而且,您发送的内容更实用: 最后:

  • 问题内容: 我正在编辑内置的表单。 我在对话框中显示该表单,然后提交。 数据已正确输入数据库。 但是我不知道是否需要将一些寄回。其实我对事情有点困惑。 假设我在表中使用``jQuery添加了一行,当我提交表单时,然后在提交数据之后,我想发回那些行数据,以便我可以动态添加表行以显示添加的数据。 我很困惑如何获取这些数据。 这是我当前的代码: 这只是带有成功消息的模板。 问题答案: Symfony 2

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

  • 问题内容: 我一直在使用Serialize()将复选框形式的数据与Post()传递给可以容纳多个相同类别项目的购物篮。 当我使用“提交”按钮发布它们时,它可以很好地工作,并且可以将多个值传递并显示在一个类别下。 但是,当我使用Jquery serialize()时,每个类别仅显示一个项目,而总共仅显示两个类别。这是一个阵列问题,但我无法解决。 我应该使用替代的JQuery函数来传递多维数组吗? 问

  • 问题内容: 这是我希望做的: 我想将ajax请求发送到文件(最好使用jQuery),并且一旦文件被加载,请确定所请求文件的大小。 经过一番谷歌搜索,很显然,我什至对一个正确的问题都不知道要提出这个问题。任何帮助将不胜感激。 问题答案: 您可以发出HTTP HEAD请求,并通过读取Content- Length HTTP标头获得近似的文件大小。 这种请求用于获取有关该请求隐含的URL的元信息,而无需

  • 我试图通过Javascript/Ajax调用Extbase控制器操作。版本是Typo3 v10。控制器操作应该返回JSON。 我已创建控制器和操作,如下所示: 接下来,我在ext_localconf.php注册了一个插件: 接下来,我创建了一个文件/theextension/Configuration/Typoscript/setup。如下所示的打字脚本: 我正在通过访问浏览器和邮递员中的以下网址