我有一个我一直在研究的servlet调查应用程序。我的问题是request.getHeader('referer')
第一次访问应用程序时没有获得正确的引用URL
然而,第二次(或任何其他时间)它确实得到正确的。
应用程序第一次要求用户进行调查,然后将其重定向到资源URL。第二次它只将用户重定向到资源,因为他们已经进行了调查。我有2个处理take.survey
逻辑的java文件,第二个只是重定向和记录信息(survey.logic
)
两个例程文件都使用request.getHeader('referer')
。第一次要求用户参加调查(take.survey)。
正如我之前所说,应用程序将在数据库中记录目标网址,而不是引荐网址。第二次它顺利运行,并获得正确的推荐信息。
示例:
我正在从具有以下地址的页面调用该应用程序:
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')
来获取引荐值。
有什么想法吗?
感谢。
答案 0 :(得分:1)
window.open()
打开窗口时,推荐人不适用,只有在点击常规链接或表单提交时才会应用。推荐人是您点击链接或提交按钮时所在的网站。因此,如果他们来自谷歌,这就是推荐人说谷歌的原因。首次进入您的网站,引荐来源将始终为空(空字符串或空),因为他们在地址栏中键入地址(与通过JS打开弹出窗口时相同)或其他某个网站,因为他们通过您的网站来到您的网站一条链接。首次进入网站,推荐人不会成为您的网页之一。