slim framework 3,无法呈现html页面

时间:2018-05-01 16:50:22

标签: twig slim slim-3

使用twig-view渲染html,目前无法更改返回浏览器的Content类型,我可以看到slim返回的内容类型为json而不是html内容,因此所有代码都显示在浏览器中

 $app->get('/',function(Request $req,Response $res,array $args) use ($app){
        $container = $app->getContainer();
        $container->view->render($res, 'test.html',[]);
    });

enter image description here

2 个答案:

答案 0 :(得分:1)

尝试按以下方式返回响应:

return $container->view->render($res, 'test.html', []);

答案 1 :(得分:0)

Zamrony P. Juhara 之外 我发现我放的中间件是编辑响应,作为json内容返回 - > withHeader(" Content-Type"," application / json")

/*
CORS
*/
$app->add(function ($req, $res, $next) {
    $response = $next($req, $res);
    return $response
            //->withHeader("Content-Type", "application/json")
            //->withHeader('Access-Control-Allow-Origin', 'http://localhost:2222/')
            ->withHeader('Access-Control-Allow-Origin', '*')
            ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization')
            ->withHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,DELETE,PATCH,OPTIONS');
}); 

所以浏览器只获得json内容响应因此它将所有代码转储为json内容而不是Content-Type:" text / html", 这解决了我的问题