是否可以使用静音/隐藏GET请求?

时间:2013-07-30 21:37:39

标签: php javascript

我这样做了一个GET请求:

http://www.smurf.com/path/?var=val

这显示在用户的URL中。我当然在几乎所有主要的网站上看到这一点。

但我只是好奇,如果有办法解决它。对于非程序员来说,看起来似乎有些丑陋和不必要。

如果没有当前的东西,是否有计划在完成后删除GET请求语法?

所以只有

http://www.foo.com/path/
请求后

2 个答案:

答案 0 :(得分:3)

似乎您正在寻求POST请求。 POST请求在PHP中与GET请求相同,只需使用$_POST超全局而不是$_GET超全局来获取POST请求参数。

在POST请求中,数据的发送方式与GET一样(有一些不可忽视的差异),但在URL中不可见,因此它完全符合您的要求。像GET一样发送数据,但没有用户在URL中看到它。

示例HTML表单:

<form method="post" action="handler.php">
    <input type="text" name="username"></input>
</form>

然后,如果用户提交了此表单,您可以在PHP中获取post参数“username”,就像获取GET一样。

<?php
   $username = $_POST["username"];
?>

然后根据自己的喜好使用它!

此外,如果不提及POST / GET请求的预期用法,我将无所适从。传统上,当数据被发送到服务器以便稍后存储/使用时,例如在数据库或在线论坛中,应该使用POST请求。或者,GET请求应该用于从服务器请求(“获取”)数据,而不是提供将被存储的数据。以这种方式使用请求是一种最佳实践,但经常被忽略,因为它不是由语言强制执行,而只是一种原则。

答案 1 :(得分:1)

没有。这就是POST requests的用途。 如果您想要更美观地制作网址,我建议(取决于您的服务器)寻找clean URLs的方式。

例如,在Apache中,您可以使用.htaccess e在mod_rewrite modul中执行此操作。您可以看到有关它的教程here

相关问题