IE和Firefox在提交表单时对来路页面的判断差异

  首先我们做个测试:
  写一段JS提交一个表单:

theForm.action=”test.php?id=1″;
theForm.submit();

  在test.php里打印来路页面:

die($_SERVER["HTTP_REFERER"]);

  然后分别在Firefox和IE里面查看test.php页面,发现均显示test.php。
  接下来,将上述JS更换为:

location.href=”test.php?id=1″;

  即改用GET方式提交表单。然后再次查看test.php页面,会发现Firefox仍然显示test.php,而IE显示空白。
  这说明IE并不将location.href属性的更改视为一次点击链接的过程。

If you like this post and would like to receive updates from this blog, please subscribe our feed. Subscribe via RSS

3 Responses to “IE和Firefox在提交表单时对来路页面的判断差异”

  1. madman Says:

    o?这样哦。谢谢!

  2. zhanyou Says:

    不是這樣吧,我也碰到過這樣的問題,看了看手冊,手冊上是這樣寫的

    链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是正确真实的。

  3. admin Says:

    是的,看来写程序的时候不能一味依赖这个变量,尤其是涉及界面逻辑的时候。
    ajax的应用就可以规避这个问题了,呵呵。

Leave a Reply