【问题标题】:How to render a json file located on different port in symfony2如何在 symfony2 中渲染位于不同端口的 json 文件
【发布时间】:2014-02-02 19:17:40
【问题描述】:

我是 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 控制器中访问它,以便我可以执行简单的 AJAX get 调用访问网址:'/test'。

关于如何做到这一点的任何帮助?如何在我的控制器中访问该 json 文件以便执行 Ajax。

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

【问题讨论】:

    标签: php ajax json angularjs symfony


    【解决方案1】:

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

    【讨论】:

    • 我不知道该怎么做。那是(CORS 标头)来自 Symfony2 控制器的东西吗?
    • 您对 mylocal:8080/json/test.json 的请求应返回 CORS 标头。为此,如果从应用程序提供 json,则应配置服务器或应用程序。更多这里developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
    【解决方案2】:

    我认为答案就在这段代码中:

    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 端口中的文件?
    猜你喜欢
    • 1970-01-01
    • 2021-08-13
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多