我一直在开发一个servlet调查应用程序。我的问题是request.getHeader('referer')在第一次访问应用程序时没有获得正确的引用url。
然而,第二次(或任何其他时间),它确实得到了正确的结果。
应用程序第一次要求用户进行调查,然后将用户重定向到资源url。第二次只将用户重定向到资源,因为他们已经进行了调查。我有两个处理take.survey逻辑的java文件,第二个只是重定向和记录信息(survey.logic)。
两个例程文件都使用request.getHeader('referer')。第一次要求用户进行调查(take.survey)。
正如我之前所说的,应用程序将在数据库中记录目标url,而不是引用url。第二次,它运行得很顺利,并获得了正确的推荐信息。
示例:
我从一个页面调用应用程序,地址如下:
refering page: thispage该应用程序位于:
app/take.survey以下链接将插入到thispage中以访问该应用程序:
app/take.survey?refurl=http://google.com结果:
第一次点击链接记录:app/take.survey?refurl=http://google.com第二次点击链接获得正确值:thispage (url)第三次正确值,依此类推。
同样,两个文件都使用:request.getHeader('referer')来获取引用值。
有什么想法吗?
谢谢。
发布于 2014-08-08 06:22:33
Referrer不适用于使用window.open()打开窗口时,仅适用于单击常规链接或表单提交时。Referrer是您单击链接或提交按钮时所在的站点,它会将您带到此处。因此,如果他们来自谷歌,这就是为什么推荐人会说谷歌。第一次进入你的网站,推荐人将始终是空的(空字符串或null),因为他们在地址栏中输入地址(与您通过JS打开弹出窗口时相同),或者其他网站,因为他们通过链接进入您的网站。第一次进入网站,推荐人不会是你的一个页面。
https://stackoverflow.com/questions/25188272
复制相似问题