【问题标题】:Fetch GET request all header information are blankFetch GET请求所有header信息为空
【发布时间】:2021-03-04 12:28:17
【问题描述】:

我正在向 PHP 后端 REST API 发出 javascript 获取请求,我通过标头发送令牌。

但是,当我尝试使用 PHP CodeIgniter 获取标头信息时,标头详细信息都是空白数组。

我该如何解决这个问题,这是我的代码

Javascript

fetch(`URL`, {
    method: 'GET',
    withCredentials: true,
    credentials: 'include',
    headers: {
        'Authorization': 'Basic ' + token
    }
    })
    .then((response) => response.json())
    .then(data => {
      DO SOMETHING WITH THE RESPONSE
    })

PHP

$headers = $this->request->getHeaders();
echo json_encode($headers);

.htaccess

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

输出

Accept: {}
Accept-Encoding: {}
Accept-Language: {}
Authorization: {}
Cdn-Loop: {}
Cf-Connecting-Ip: {}
Cf-Ipcountry: {}
Cf-Ray: {}
Cf-Request-Id: {}
Cf-Visitor: {}
Cookie: {}
Dnt: {}
Host: {}
Referer: {}
Sec-Ch-Ua: {}
Sec-Ch-Ua-Mobile: {}
Sec-Fetch-Dest: {}
Sec-Fetch-Mode: {}
Sec-Fetch-Site: {}
User-Agent: {}
X-Forwarded-For: {}
X-Forwarded-Proto: {}

为什么要检索空数组,我该如何解决,我做错了什么?

【问题讨论】:

    标签: javascript php codeigniter fetch


    【解决方案1】:

    我认为您需要在 htaccess 上添加重写

    RewriteEngine On
    
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
    

    【讨论】:

    • 嗨,是的,我只发布了.htaccess 的那一部分,因为人们在其他问题中说.htaccess 中缺少这部分内容。但它存在于 CodeIgniter 的默认 .htaccess 中。
    【解决方案2】:

    如果您使用的是mod_fastcgi,则将以下配置添加到您的 <VirtualHost></VirtualHost>

    注意:请使用您的 php 版本更改 php7.0-fpm.sockphp7-fcgi

    <IfModule mod_fastcgi.c>
      SetHandler php7-fcgi .php
      Action php7-fcgi /php7-fcgi virtual
      Alias /php7-fcgi /usr/lib/cgi-bin/php7-fcgi
      FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
    </IfModule>
    
    

    如果仍然无法正常工作,请尝试此处列出的解决方案:https://dealer4dealer.nl/serverinrichting-woocommerce-restapi/

    【讨论】:

      猜你喜欢
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多