首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel未创建响应自定义标头

Laravel未创建响应自定义标头
EN

Stack Overflow用户
提问于 2020-05-07 19:24:47
回答 2查看 381关注 0票数 0

当请求是json all ok时,我得到了我的'xxx‘头,但当它是对页面的直接请求时-我的头不存在于响应中。

我尝试了response()->headerresponse('content',200,['xxx'=>'xxx'])的任何变体,都没有成功

我在控制器中的代码:

代码语言:javascript
运行
复制
return $request->wantsJson()
            ? response([
                'html'          => view('components.tarif-list', compact('tarifs'))->render(),
                'pagination'    => $tarifs->appends(request()->query())->links()->toHtml(),
                'head'          => $seo_block,
                'stats'         => $stats
            ])->header('xxx','xxx')
            : response(view('home',compact('tarifs','seo_block'))->render())->header('xxx','xxx');

home.blade.php

代码语言:javascript
运行
复制
@extends('layouts.main')

@section('content')
    <x-filters/>
    <div id="head" class="alert alert-success" role="alert">
        @if(!empty($seo_block))
        {!! $seo_block !!}
            @elseif($tarifs->isEmpty())
            empty
            @else
            hello
        @endif
    </div>
    {{$tarifs->appends(request()->query())->links()}}
    <table id="tarif-list" class="table table-hover table-striped">
        <x-tarif-list :tarifs="$tarifs"/>
    </table>
    {{$tarifs->appends(request()->query())->links()}}
@endsection
EN

回答 2

Stack Overflow用户

发布于 2020-05-07 19:32:07

如果你看了这行代码

代码语言:javascript
运行
复制
response(view('home',compact('tarifs','seo_block'))->render())->header('xxx','xxx')

您将看到以下响应

代码语言:javascript
运行
复制
Symfony\Component\HttpFoundation\ResponseHeaderBag {#2878
  #computedCacheControl: array:2 [
    "no-cache" => true
    "private" => true
  ]
  #cookies: []
  #headerNames: array:3 [
    "cache-control" => "Cache-Control"
    "date" => "Date"
    "xxx" => "xxx"
  ]
  #headers: array:3 [
    "cache-control" => array:1 [
      0 => "no-cache, private"
    ]
    "date" => array:1 [
      0 => "Thu, 07 May 2020 11:27:31 GMT"
    ]
    "xxx" => array:1 [
      0 => "xxx"
    ]
  ]
  #cacheControl: []
}

密钥已经存在了,但是如何在刀片文件中检索头文件呢?

票数 0
EN

Stack Overflow用户

发布于 2020-05-07 21:09:30

在响应为dump()之前,问题出在控制器中,而且我们知道标题必须是页面的第一个内容。

但为什么php或laravel没有说明这一点呢?默认php警告:

代码语言:javascript
运行
复制
PHP Warning:  Cannot modify header information - headers already sent by..........
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61656581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档