[英]PHP header request not received
我通过 ajax 传递 header,
$.ajax({
headers: {
key: value
}
});
我可以在浏览器中看到Request Header
中的值。 我正在使用 Codeigniter 通过$this->input->get_request_header('key')
获取密钥。
它在本地工作正常,但在服务器上不工作。
我已经尝试过apache_request_headers()
和$_SERVER
和getallheaders()
等等。但我在这个数组中看不到我的自定义 header。
那么如何通过 PHP 获得这个定制的 header 呢?
我遇到了 Codeigniter 3 和Authorization
header 的问题。 它在本地工作,但在服务器上不起作用。 我发现其他标头可以工作——我将Authorization
更改为Authorization2
只是为了测试。 PHP getallheaders()
方法还返回过滤掉Authorization
header 的所有标头。
这使我得到了这个答案,所以我添加了:
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
到.htaccess
文件和Authorization
header 重新出现。
这是如何在 Ajax 请求中设置 header 的示例。
$.ajax({
type: "POST",
beforeSend: function (request) {
request.setRequestHeader(key, value);
},
});
通过以这种方式发送它,您不必在使用 Codeigniter 3.1.11 的后端接收它时遇到问题,该版本包含您正在使用的 function。
如果未找到搜索到的 header,则返回请求标头数组的单个成员或 NULL。
$this->input->get_request_header('some-header', TRUE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.