首页 > 解决方案 > 方法 Illuminate\View\View::header 不存在

问题描述

我正在尝试生成一个 js 文件,让其他网站管理员在他们的网站上使用我的新闻标题:

Route::get('/script/news/{slug}/{count}.js',function($slug,$count) {
      return view('webmaster_script')->
      with(compact("slug","count"))->
      header('Content-Type', 'application/javascript');
});

但它说

BadMethodCallException 方法 Illuminate\View\View::header 不存在

我该如何解决?

脚本内容生成成功。我只想更改 MIME 类型。

提前致谢

标签: laravellaravel-8

解决方案


Laravel 的文档给出了以下示例

如果您需要控制响应的状态和标头,但还需要返回一个视图作为响应的内容,您应该使用 view 方法:

return response()
           ->view('hello', $data, 200)
           ->header('Content-Type', $type);

所以以下应该工作:

 return response()
    ->view('webmaster_script', compact("slug", "count"))
    ->header('Content-Type', 'application/javascript');

推荐阅读