如何在symfony2中提交表单ajax?

2024-04-25

我即将使用 Ajax 提交我的表单,我已使用 Ajax 成功提交我的表单POST但不知道如何使用 AjaxSymfony

builform

    $builder->add('name', 'text', array('constraints' => array(new NotBlank()), 'attr' => array('placeholder' => 'Name')))
        ->add('gender', 'choice', array('empty_value' => 'Select Gender', 'constraints' => array(new NotBlank()), 'choices' => \AppBundle\Entity\Records::$gender_list, "required" => true))
        ->add('dateOfBirth', 'birthday', array('label' => 'Date Of Birth','required'=>true))
        ->add('image_path', 'file', array('label' => ' ','required'=>false, 'data_class' => null, 'constraints'=>array(new Assert\File(                                             array('mimeTypes'=>$mime_types, 'maxSize'=>'2048k' )))))
        ->add('country_of_birth', 'entity', array('empty_value' => 'Country of Birth',
            'class' => 'AppBundle\Entity\Location',
            'property' => 'country',
            'label' => 'Country of Birth'
        ))
        ->add('religion', 'entity', array('empty_value' => 'Select Religion',
            'class' => 'AppBundle\Entity\Religion',
            'property' => 'name',
            'label' => 'Religion'
        ));

Action

        $success = false;
        $record_rep = new \AppBundle\Entity\Records();
        $form = $this->createForm(new \AppBundle\Form\AddPersonType(), $record_rep);

        if ($this->getRequest()->getMethod() == 'POST') {
            $form->submit($request);
            if ($form->isValid()) {
                $data = $form->getData();
                $file = $data->getImagePath();
                $image = $file->getClientOriginalName();

                $new_image_name = $this->hanldeUpload($image, $file);
                $this->savetoDB($data, $record_rep, $new_image_name);
                $success = true;
            }
        }
        return $this->render('AppBundle:Homepage:add_person_form.html.twig', array('form' => $form->createView(), 'success'=>$success ));
    }

对于 jQuery,使用serialize()表格并将其发布到您的路线。

$('#form').submit(function(e) {

    e.preventDefault();
    var url = "{{ path('YOUR_PATH') }}";
    var formSerialize = $(this).serialize();
    
    $.post(url, formSerialize, function(response) {
        //your callback here
        alert(response);
    }, 'JSON');
});

在你的行动中

if ($form->isSubmitted() && $form->isValid()) {

....

  // or return new JsonResponse($anyData);
  return new Response(json_encode(['status'=>'success']));
}

这样应该就可以了。但您可以在路由中添加一些参数,例如格式、方法等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在symfony2中提交表单ajax? 的相关文章

  • 如何使用环回设置 OAuth 2.0 服务器

    我想使用名为 Loopback component oauth2 的包使用 Loopback 设置 OAuth 2 0 服务器 文档在这里 https docs strongloop com display public LB OAuth
  • 使用 var 与 let/const 进行块级变量重新声明

    Part 1 给出这个例子 var number 10 var number 42 console log number 42 为什么第 4 行不抛出Uncaught SyntaxError Identifier number has al
  • PHP 变量无法使用 json_encode() 正确返回成功 AJAX/jQuery POST

    我已经尝试了几个小时才能让它发挥作用 我有一个 div 标签和一个hidden input field我想使用 AJAX 进行更新 这div标签如下 div class friends tab list div div
  • 我可以将模型关联到 laravel 中的通知表吗?

    我一直在处理通知 并且很快就完成了它 除非我觉得需要删除通知并将其与帖子相关联 有什么方法可以将模型与帖子关联起来吗 notifications桌子 我想用 table创建通知模型后在模型中找到的属性 编辑 或者我可以在删除帖子时删除通知吗
  • 在javascript中调用c#函数[重复]

    这个问题在这里已经有答案了 可能的重复 从 Javascript 调用 ASP NET 函数 https stackoverflow com questions 3713 call asp net function from javascr
  • 在单选按钮选择上提交 Rails 表单

    我有以下 Rails 表单 有效 但我想删除 Submit tag 并在选择单选按钮后立即提交表单 我怎么做 p nbsp nbsp p p p 所以我找到了精确的解决方案 感谢输入人员 它帮助我重新定义了我的谷歌搜索
  • 我们可以使用 axios 的 onDownloadProgress 来加载 API 吗?

    我需要使用 axios 创建一个用于在 React 项目中加载 API 的进度条 我为此发现了 onDownloadProgress 函数 但我不知道我们是否可以使用它来获取诸如加载百分比之类的信息 或者它是否仅用于文件下载 所以我不确定我
  • 使用 Angular JS 使图像出现在弹出窗口上

    这是我在 StackOverflow 上的第一篇文章 我正在自学 Angular 所以我是一个初学者 目前很困惑 我正在使用 Angular 创建一个网页 其中一个页面涉及一个按钮和一个弹出窗口 我想将图像放入弹出窗口中 但在实现此操作时遇
  • 如何在 PHP、HTML 表单和 Javascript 之间传递布尔值

    我有一个 PHP 程序 它使用 HTML 表单并使用 JavaScript 进行验证 HTML 表单中有一个隐藏字段 其中包含一个布尔值 该值由 PHP 设置 由 JavaScript 在提交时进行验证 然后传递到另一个 PHP 页面 当我
  • 是否可以使用 JavaScript 检查加载的图像大小

    这是一个完全愚蠢的问题 但我只是想澄清我的疑问 当图像加载时 我们可以使用以下命令检查加载状态onload or oncomplete事件 但我只是想知道有多少部分图像是使用 JavaScript 加载的 真的可能吗 我的问题是 我们可以从
  • 同步 jQuery 动画

    我正在尝试同时获得淡入 不透明度切换 和边框淡入 使用jquery 动画颜色 http www bitstorm org jquery color animation 同时开火 但我遇到了一些麻烦 有人可以帮忙查看以下代码吗 fn exte
  • PHP include():文件大小和性能

    一个没有经验的PHP问题 我有一个 PHP 脚本文件 我需要在不同页面的很多地方多次包含该文件 我可以选择将包含的文件分解为几个较小的文件 并根据需要包含这些文件 或者 我可以将它们全部保存在一个 PHP 文件中 我想知道在这种情况下使用较
  • 向子元素添加另一个 CSS 样式,该子元素也是父元素

    所以我的列表看起来像这样
  • 从 BLOB 打印 PDF

    我从外部 API 获取 PDF 文件 使用此代码我可以正确下载该文件 var req new XMLHttpRequest req open POST url true req responseType blob req setReques
  • Jquery simplemodal 关闭现有模态并打开一个新模态?

    好的 所以所有模态框的右上角都已经有一个图像来关闭它们 我怎样才能另外制作另一个锚来做同样的事情 我认为我可以使用默认为 simplemodal close 的 closeClass 选项 然后将该类添加到锚点 但它没有达到预期的效果 这是
  • 扫描图像到可读文本

    我想知道是否有一种方法可以通过编写代码来将带有文本的扫描图像转换为可读文本 那可能吗 OCRTools http www ocrtools com是我用于 net 的 对于Java 我用过Aspire http asprise com pr
  • 将 csv 解析输出保存到变量

    我是使用 csv parse 的新手 项目 github 中的这个示例满足了我的需要 但有一个例外 我不想通过 console log 输出 而是想将数据存储在变量中 我尝试将 fs 行分配给变量然后返回data而不是记录它 但这只是返回了
  • 关闭网站的 IE 8 兼容模式

    我的公司使用IE8作为默认浏览器 并且默认为所有内联网站点设置兼容模式 我正在构建一个在关闭兼容模式时可以工作的 Intranet 站点 我正在使用 Reset css 和几个开源 JavaScript 程序 例如数据表 我想做的是强制关闭
  • 类型错误: jasmine.getEnv().currentSpec 为 null

    当我尝试运行我的茉莉花规格时 我得到 TypeError jasmine getEnv currentSpec is null in http localhost 8888 JASMINE ROOT jasmine js line 498
  • XPath 节点到字符串

    如何选择以下节点的字符串内容 span class url word b class test b span span class url word b class test2 b more words span 我尝试过一些事情 span

随机推荐