在响应php中添加换行符和粗体文本

时间:2016-01-08 18:56:49

标签: php symfony

我正在使用Symfony2返回一个ajax响应,我需要将消息的内容分成两行并将一些文本放入粗体。我使用的函数是:

 public function showuserAction()
   {
    $nid=$this->get('request')->request->get('nid');
    $em = $this->getDoctrine()->getEntityManager();
    $user = $em->getRepository('Bundle:Users')->findUser($nid);

    if($user){
        return new JsonResponse(array('message' => 'This NID belongs to the user: '.$user->getName()), 200);
    }
}

ajax电话:

$.ajax({
  type: 'POST',
  url: Routing.generate('showuser'),
  data: {dni:dni},
  dataType: 'json',
  success: function(response) {

    alert(response.message);

  }
 })

我希望得到以下结果:

此NID属于用户:

用粗体格式化的用户名

4 个答案:

答案 0 :(得分:1)

我建议您将邮件和用户名作为返回的JSON中的单独字段发送,如下所示:

return new JsonResponse(
    array(
        'message' => 'This NID belongs to the user: ',
        'username' => $user->getName()
    ),
    200
);

然后处理他们如何在加载JSON的前端格式化。

API,这是你的JSON响应,应该只是关于数据而不是数据应该是什么样的,在你编写代码时将这两者分开,这将有助于保持代码更清晰,更易于维护。 / p>

答案 1 :(得分:0)

旧的普通html标签:

return new JsonResponse(
    array(
        'message' => 'This NID belongs to the user<br />: <b>' . $user->getName() . '</b>',
    ),
    200
);

我看到你alert收到了消息。警报窗口中的消息无法自定义。您可以尝试添加\n来表示换行符,但添加粗体将无效

return new JsonResponse(
    array(
        'message' => 'This NID belongs to the user:' . "\n" . $user->getName(),
    ),
    200
);

答案 2 :(得分:0)

if($user){
        return new JsonResponse(array('message' => 'This NID belongs to the user: <b>'.$name.'<b/>');, 200);
    }

答案 3 :(得分:0)

如果您想在JS中管理格式,或者只是使用pur HTML,则可以使用jolyonruss解决方案:

更改AJAX通话的数据类型:dataType: 'html', 返回一个简单的Response

return new Response('This NID belongs to the user:<br><strong>'.$user->getName().'<strong/>');

// or even better
return $this->render('Bundle:Users:showUserPartial.html.twig', array('user' => $user));