請求uniRequest,會請求兩次


實際上就是服務器要預檢一次接口,默認5,6秒一次,可自行更改
'Access-Control-Allow-Headers', 'appId' 來允許服務器請求中攜帶字段appId,如果還有其它字段,可以用逗號分隔填入;

'Access-Control-Allow-Methods',': POST, GET, OPTIONS'來允許服務器允許客戶端使用 POST, GET 和 OPTIONS 方法發起請求;

添加完畢之后,響應頭中增加對應字段,可以成功實現帶自定義首部字段的跨域通信。

1
2
3
4
5
6
//響應頭局部:
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Access-Control-Allow-Headers: appId
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Origin: *

但是我們發現每次這種情況都會觸發OPTIONS請求,然后再去執行業務邏輯,雖然正常執行了,但是一個請求變成了兩個,肯定增加了用戶等待時間和服務器資源消耗,於是又在響應頭中增加了Access-Control-Max-Age: 86400;表明該響應的有效時間為 86400 秒,也就是 24 小時。在有效時間內,瀏覽器無須為同一請求再次發起預檢請求。瀏覽器自身維護了一個最大有效時間,如果該首部字段的值超過了最大有效時間,將不會生效。最后同一天內一個接口就只有一次OPTIONS請求啦,大功告成!


免責聲明!

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



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