为什么我的浏览器没有发送任何推荐人?

时间:2016-04-02 23:53:33

标签: html google-chrome http referrer

我有一个包含以下代码的html页面。

  <form method="POST" action="https://formspree.io/email">
    <input type="submit" value="SEND"/>
  </form>

当用户提交表单时,我的浏览器在http请求中不包含referrer标头字段。为什么不呢?

4 个答案:

答案 0 :(得分:3)

我通过将<meta name="referrer" content="origin">添加到HTML页面的<head>部分来解决此问题。

答案 1 :(得分:1)

首先使用formspree指定的atributtes:

&#13;
&#13;
<form action="https://formspree.io/your@email.com"
      method="POST">
    <input type="text" name="name">
    <input type="email" name="_replyto">
    <input type="submit" value="Send">
</form>
&#13;
&#13;
&#13;

和第二:也许您之前在其他网站(例如formspree网站)中尝试过该表单,因此您必须在formspree网站中重置它,然后直接在您的网站中进行尝试,因此您必须确认试。

希望它适合你...

答案 2 :(得分:1)

  1. 您正在测试您的网站,将其作为计算机文件系统中的静态HTML文件在浏览器中打开。在这种情况下,其URL不会以http://或https://开头。这不起作用,因为浏览器不会将这些页面视为普通的Web资源,因此它们不会自动发送&#34; Referer&#34;提交表单时的标题。 Formspree需要头文件才能工作。如果您只是从本地Web服务器将HTML文件作为Web资源打开,则可以解决此问题。如果您使用的是Mac或Linux,只需键入python -m SimpleHTTPServer 8000或您的HTML文件目录,然后在浏览器中访问http://localhost:8000。如果您使用的是Windows,请尝试安装以下超级简单的Web服务器之一:适用于Chrome的Web服务器,thttpd或Quickshare。

  2. 您使用的是旧版Safari,Safari移动版或其他不是最近的Chrome,Firefox或Edge的浏览器。在这种情况下,您可能是我们在Formspree上使用的旧HSTS策略的受害者,该策略不允许网站将内容发布到非https版本的Formspree。在这种情况下,请将您的表单的action =属性更改为https://formspree.io/

答案 3 :(得分:0)

正如statosdotcom评论的那样,问题就发生了,因为我在本地打开了我的网页。