我正在使用laravel作为后端的nuxt / axios。在laravel的回复中,我发送了一个名为_msg
的自定义标头,但我无法访问它。在我的console.log(response)
中,我只有这个意思:
但是在我的浏览器网络中,我得到了标题:
我如何访问它?
已更新
将此添加到我的laravel中间件中: 这是一个示例,如果请求来自经理和管理员
<?php
namespace App\Http\Middleware;
use Closure;
use App\Traits\UtilsTrait;
class ManagerPlus
{
use UtilsTrait;
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
// return $next($request);
if($this->isMoreManager()){
$request->panelType = $this->addPanelType();
$response = $next($request);
$response->headers->set('Access-Control-Expose-Headers', 'Content-Disposition');
return $response;
}
return $this->permissionDenied();
}
}
更新后更新:
我按照我的laravel / fruitcake设置和中间件进行操作,这是我从axios获得的新标头。但仍然没有得到我的_msg
答案 0 :(得分:1)
我认为您需要做的是:
如果您使用的是软件包https://github.com/fruitcake/laravel-cors,那么您将拥有config/cors.php
,并且应该在其中添加
'exposed_headers' => ['_msg'],
,您必须按照问题https://github.com/fruitcake/laravel-cors/issues/308#issuecomment-490969761
中的说明创建中间件 $response->headers->set('Access-Control-Expose-Headers', '_msg');
我希望它能起作用