使用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',[]);
});
答案 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", 这解决了我的问题