小编Fab*_*ian的帖子

如何通过symfony2 Controller获取Ajax发布请求

我发这样的短信

HTML标记

<textarea id="request" cols="20" rows="4"></textarea>
Run Code Online (Sandbox Code Playgroud)

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);
    }
});
Run Code Online (Sandbox Code Playgroud)

symfony2控制器代码

$request = $this->container->get('request');
$text = $request->request->get('data');
Run Code Online (Sandbox Code Playgroud)

但是$text是空的......

我已经通过firefox http请求测试器尝试了正常的post请求(不是Ajax).

/app_dev.php/member/msgPost
Run Code Online (Sandbox Code Playgroud)

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

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

'success:function'被称为成功.

你怎么能得到javascript数据结构的内容?

ajax symfony

21
推荐指数
2
解决办法
4万
查看次数

从嵌套表单中调用$ builder-> getData()始终返回NULL

我试图以嵌套的形式存储数据,但在调用时$builder->getData()我总是得到NULL.

有谁知道如何在嵌套表单中获取数据?

这是ParentFormType.php:

class ParentFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('files', 'collection', array(
            'type'          => new FileType(),
            'allow_add'     => true,
            'allow_delete'  => true,
            'prototype'     => true,
            'by_reference'  => false
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

FileType.php

class FileType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        // Each one of bellow calls returns NULL
        print_r($builder->getData());
        print_r($builder->getForm()->getData());
        die();

        $builder->add('file', 'file', array(
            'required'    => false,
            'file_path'   => 'file',
            'label'       => 'Select a file to be uploaded', …
Run Code Online (Sandbox Code Playgroud)

symfony-forms symfony symfony-2.3

8
推荐指数
3
解决办法
7144
查看次数

缺少git支持,使用'Install-Module posh-git'安装posh-git并重启cmder

我想从cmder powershell使用git.

错误

Cmder打印出以下错误:

缺少git支持,使用'Install-Module posh-git'安装posh-git并重启cmder

如果我运行Install-Module posh-gitcmder打印出下一个错误:

  • 安装模块<<<< posh-git
    • CategoryInfo:ObjectNotFound:(Install-Module:String)[],CommandNotFoundException
    • FullyQualifiedErrorId:CommandNotFoundException

我做过/尝试过的事情

问题

我的git命令正在运行,但没有向我显示我正在处理的分支.

那么我该如何解决这个问题呢?

git powershell cmder

8
推荐指数
2
解决办法
7103
查看次数

通过Twig中的资产包括来自供应商库的CSS和JS文件

我要将供应商目录中的库中的文件cssjs文件包含到Twig中。

morrisjs通过作曲家下载到symfony的供应商目录中。现在,我想将主要cssund js文件包含在我的Twig模板中。但据我所知,该asset功能仅适用于Bundles中的文件。

我要包括的文件位于以下路径中:

  • 项目\供应商\ morrisjs \ morris.js \ morris.js
  • 项目\供应商\ morrisjs \ morris.js \ morris.css

我想到了一些看起来像这样的理论代码:

{% block stylesheets %}
    <link href="{{ asset('vendor/morrisjs/morris.js/morris.css') }}" />
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

是否有可能直接从供应商处添加这些文件,怎么办?

template-engine symfony twig

3
推荐指数
1
解决办法
4186
查看次数