slim 框架 3,无法呈现 html 页面
slim framework 3, fail to render html page
我正在使用 twig-view 呈现 html,目前无法更改返回给浏览器的内容类型,我可以看到 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
尝试return这样的回应:
return $container->view->render($res, 'test.html', []);
加入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",
这解决了我的问题
我正在使用 twig-view 呈现 html,目前无法更改返回给浏览器的内容类型,我可以看到 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
尝试return这样的回应:
return $container->view->render($res, 'test.html', []);
加入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", 这解决了我的问题