我正在使用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属于用户:
用粗体格式化的用户名
答案 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));