header的參數不能帶下划線


移動端把一些公共參數放在了 header 了,

在 laravel 中使用

use \Illuminate\Http\Request;
//這個是獲取所有header信息
Request::header();
//這個是獲取header里面的version參數值
Request::header('version');
這些是可以滿足需求獲取到參數的。

但是偏偏這次出問題了。新加的參數怎么都是取不到,還以為是什么緩存問題,或者是哪里去除了,又或者帶參數有個數限制。

結果調試了半天發現是移動端傳參數的時候是不能在命名參數中帶 _ (下划線的),

如 app_version,book_id 這樣的是有問題的

1需要去除下划線,或換成 - 都是可以的!

2又發現 header 中是不能帶 中文 過來的,如果帶 中文 過來后端在 header 頭中是拿不到值的。

原因

  1. 在header里不要用 “_” 下划線,可以用駝峰命名或者其他的符號(如減號-)代替。nginx默認忽略掉下划線可能有些原因。
  2. 在nginx里的 nginx.conf文件中配置http的部分添加 : underscores_in_headers on;(默認值是off)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM