从ajaxcontroller symfony返回json

奇迹约翰逊

我尝试从表中查看一些行。我在Symfony中有一个AjaxController,该控制器具有以下功能:

use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\Encoder\JsonEncoder;
use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer;
use Rowoco\AllgemeinBundle\Entity\Place;
use Symfony\Component\HttpFoundation\JsonResponse;
.
.
.

public function defaultAjaxAction( $job )
{
    $user = $this->get('security.context')->getToken()->getUser();
    $userId = $user->getId();
    $result = $this->$job( $userId );

    // Initialisiert Serializer
    $encoder = [new JsonEncoder()];
    $normalizer = [new GetSetMethodNormalizer()];
    $serializer = new Serializer($normalizer, $encoder);
    $newData = $serializer->serialize($result, 'json');

    return new Response($newData);
}

public function getPlacelist( $iduser )
{
    $em = $this->getDoctrine()->getManager();
    $request = Request::createFromGlobals();

    //if i put here a return 123, then the output in the javascript-console would return 123
    $placeRepo = $em->getRepository( "RowocoAllgemeinBundle:Place" );
    $placeEntity = $placeRepo->findBy(
        array(),
        array(),
        $request->request->get( "limitCount" ),
        $request->request->get( "limitStart" )
    );
    return new JsonResponse(array('place' => $placeEntity));
}

在我的js文件中,我使用以下功能对其进行了调用:

function getPlaces()
{
    var data = {};
    data['limitCount'] = 10;
    data['limitStart'] = 0;

    var url = $( "#pageparameter" ).data( "url-getplacelist" );

    $.ajax({
            type: "POST",
            url: url,
            data: data,
            dataType: "json"
        })
        .done(function(resp){
            console.log(resp);
            $( "#viewPlaces").html(resp.place.description);
        })
        .error(function(){
            console.log("No connection");
        });

}

在表中,我有2行,并在工作台中看到它们。

我不使用存储库。我只使用symfony的基本功能。

里奥·贝德罗斯(Leo Bedrosian)

使用内置JsonResponse类返回JSON响应。因此,在您的getPlaceList控制器操作中,最后添加以下内容:

use Symfony\Component\HttpFoundation\JsonResponse;

...

return new JsonResponse(array('place' => $placeEntity));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Symfony中的Controller返回JSON数组

来自分类Dev

解析通过Symfony组件的JsonResponse返回的JSON时出错

来自分类Dev

如何在Symfony中返回JSON编码的表单错误

来自分类Dev

从 Symfony 中的控制器返回 Json 响应

来自分类Dev

如何在Symfony2上以Json的身份返回存储库对象

来自分类Dev

Symfony:如何从Before过滤器(侦听器)返回JSON响应?

来自分类Dev

如何在Symfony2上以Json的身份返回存储库对象

来自分类Dev

Symfony返回出口Excel的回应

来自分类Dev

实体预期对象返回symfony

来自分类Dev

Symfony返回出口Excel的回应

来自分类Dev

Symfony返回表单字段

来自分类Dev

Symfony - 连接表 API 返回

来自分类Dev

json ajax的symfony响应

来自分类Dev

symfony 形式的 API Json

来自分类Dev

Symfony 2.3 nextBytes()未返回预期结果

来自分类Dev

Symfony2:getScheme不返回“ https”

来自分类Dev

Symfony在控制器中返回视频

来自分类Dev

Symfony2 + AJAX返回源代码

来自分类Dev

Symfony Controller应该返回响应

来自分类Dev

Memcached会话Symfony 3.0返回错误500

来自分类Dev

Symfony中的自动页面返回链接

来自分类Dev

Symfony QueryBuilder计数请求返回“数组”

来自分类Dev

Symfony2 getData返回空字段

来自分类Dev

Symfony2模拟类返回NULL

来自分类Dev

Symfony2中的按钮返回ID

来自分类Dev

Symfony2 redirectToRoute没有返回

来自分类Dev

Symfony 3:Doctrine:schema:update返回ConnexionException

来自分类Dev

Symfony - 在 yml 注册时 Guzzle 返回错误

来自分类Dev

Symfony findOneBy:列类型数组返回 null