Php 如何在symfony2中呈现位于不同端口的json文件

Php 如何在symfony2中呈现位于不同端口的json文件,php,ajax,json,angularjs,symfony,Php,Ajax,Json,Angularjs,Symfony,我是symfony2的新手,现在有点困难。 我已使用wamp服务器和分配的端口设置了localhost: 80(默认)到symfony:mylocal/app_dev.php/test 8080用于公用文件夹:mylocal:8080/css/.css、mylocal:8080/js/.js等 现在,我有一个json文件(mylocal:8080/json/test.json-{“name”:“test”}),我想在symfony2控制器中访问该文件,以便通过访问url:“/test”执行简单的

我是symfony2的新手,现在有点困难。 我已使用wamp服务器和分配的端口设置了localhost: 80(默认)到symfony:mylocal/app_dev.php/test 8080用于公用文件夹:mylocal:8080/css/.css、mylocal:8080/js/.js等

现在,我有一个json文件(mylocal:8080/json/test.json-{“name”:“test”}),我想在symfony2控制器中访问该文件,以便通过访问url:“/test”执行简单的AJAX get调用

有没有关于如何做到这一点的帮助?如何访问控制器中的json文件以便执行Ajax

PS:我使用Angularjs控制我的应用程序,mylocal是localhost的别名。
谢谢。

使用$http服务,您需要在8080上设置CORS头。

我认为答案在以下代码中:

if ($request->getMethod() == 'POST') {
       $data = json_decode($request->getContent(), true);
        //insert in database
       $response = new Response();
        $response->setContent(json_encode($data));
        $response->headers->set('Content-Type', 'application/json');
        return $response;
    }

但是我如何访问8080端口的文件呢?我不知道怎么做。这(CORS头)是来自Symfony2控制器吗?您对mylocal:8080/json/test.json的请求应该返回CORS头。要做到这一点,您应该配置服务器或应用程序(如果从应用程序提供json)。更多