我有一个Symfony应用程序,其中admin角色具有可以激活/停用用户的按钮。
public function activeActionSchedule(Request $request, $id , User $user)
{
$em = $this->getDoctrine()->getEntityManager();
if($user->getIsActive() == 1){
$user->setIsActive(0);
} else {
$user->setIsActive(1);
}
$em->persist($user);
$em->flush();
return $this->redirectToRoute('view', array('id' => $user->getLoanId()->getId()));
}
当我点击该按钮时,它会转到此路径,并在执行后完全刷新页面(重定向)。 这是一种如何不返回任何会刷新/重定向到另一个页面的方式,所以它会像Ajax调用一样工作吗? 如果不可能并且使用Ajax是必要的,我想无论如何我需要修改响应,如何?
答案 0 :(得分:2)
您正在使用PHP和HTML,因此无法实现。如果你真的不想重新加载页面,你必须使用Ajax,就像你说的那样
答案 1 :(得分:1)
你可以点击按钮发送ajax请求
$.ajax({
type: "POST",
url: "/user",
data: {id: id},
success: function (result) {
alert(result.data);
alert(result.msg);
}
});
您可以通过
获取在控制器中发送的参数 $post_data = $request->request->all();
这将返回一个参数数组
在控制器中你可以发送响应,如
$json_data = array(
'data' => 100,
'msg' => "Success"
);
$response = new Response(json_encode($json_data));
$response->headers->set('Content-Type', 'application/json');
return $response;