React Web App仅从Chrome Mobile浏览器不将http Referrer分发到AWS Lambda

问题描述

我偶然发现了这个问题,我无法将id从路径传递到后端,以便从数据库获取一些数据。

这仅在android中的chrome浏览器中失败。 Web chrome可以完美运行。这是日志中的事件:

#React.js code: 
    function loadData() {
        return API.get("vce",`/exam`);
    }

我在try块中调用useEffect中的函数

try {
              const data = await loadData();        
              setData(data);

            }

这里没什么特别的。并且有来自事件的日志会发送到lambda。

  1. 正确的输出
2020-10-01T08:28:20.147Z    f890b1b8-127a-4740-9e6d-2099beb0c037    INFO    event {
  resource: '/exam',path: '/exam',httpMethod: 'GET',headers: {
    Accept: 'application/json,text/plain,*/*','Accept-Encoding': 'gzip,deflate,br','Accept-Language': 'en-US,en;q=0.9,bg;q=0.8,de;q=0.7,pl;q=0.6,cy;q=0.5','CloudFront-Forwarded-Proto': 'https','CloudFront-Is-Desktop-Viewer': 'true','CloudFront-Is-Mobile-Viewer': 'false','CloudFront-Is-SmartTV-Viewer': 'false','CloudFront-Is-Tablet-Viewer': 'false','CloudFront-Viewer-Country': 'BG',Host: 'us6crmrap3.execute-api.us-east-1.amazonaws.com',origin: 'https://www.exampledomain.com',Referer: 'https://www.exampledomain.com/demo/345d4d49-8589-4843-86b5-c94be949691c','sec-fetch-dest': 'empty','sec-fetch-mode': 'cors','sec-fetch-site': 'cross-site','User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) .....

我需要使用引荐来源网址中的ID:345d4d49-8589-4843-86b5-c94be949691c

  1. 不正确的输出(仅在chrome android中发生):
2020-09-30T19:51:26.523Z    60842855-10d9-4446-903a-bc25866697e1    INFO    event {
  resource: '/exam','CloudFront-Is-Desktop-Viewer': 'false','CloudFront-Is-Mobile-Viewer': 'true',Referer: 'https://www.exampledomain.com/','User-Agent': 'Mozilla/5.0 (Linux; Android 10; SM-A705FN) 

为什么会发生这种情况?我尝试添加ssl,但这没有帮助。 我也试图考虑一种解决方法。也许有一种方法可以向事件添加自定义数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)