symfony中的Access-Control-Allow-Origin

时间:2016-11-08 07:17:07

标签: php symfony same-origin-policy

我在Symfony控制器中使用JSON响应。当我的结果为false时,Access-Control-Allow-Origin为OK,但当result为true时,Access-Control-Allow-Origin不允许访问。

$em = $this->getDoctrine()->getManager();

$submited = Request::createFromGlobals();
$id = $submited->request->get('id');

$user = $this->get('security.token_storage')->getToken()->getUser();
$link = $em->getRepository('AdminBundle:VisitGoogle')->findOneBy(array('id' => $id, 'status' => 0));

if ($link) {
    $link->setStatus(1);
    $em->persist($link);
    $em->flush();

    $user->setEarn($user->getEarn() + $link->getCredit());
    $em->persist($user);
    $em->flush();

    $response = array("success" => true, 'message' => 'google is ok');
    $response = new JsonResponse($response);
    $response->headers->set('Access-Control-Allow-Origin', '*');

    return $response;
} else {
    $response = array("success" => false, 'message' => $this->get('translator')->trans('message.linkiswrong'));
    $response = new JsonResponse($response);
    $response->headers->set('Access-Control-Allow-Origin', '*');

    return $response;
}

为什么会这样?我该如何解决?

0 个答案:

没有答案