如何在没有URL中显示的值的情况下提交表单?

时间:2011-09-14 04:37:37

标签: jquery html ajax forms ssl

我一直试图解决这个问题,但是没有找到任何对我的特定情况有用的答案。

我有一个非常基本的HTML页面,作为我制作的webapp的前端。所述页面上有两种形式 - 一种用于注册帐户,另一种用现有帐户登录。我们的想法是,如果您注册或登录,您将获得实际的网络应用程序。

目前,我有这个工作,但表单内容会在提交时显示在URL中。这既不好看(因为webapp网址变为url.com/?username=user&password=pass而不仅仅是url.com),而且也不安全,因为任何旁观者都能清楚地看到用户名/密码是什么。

我尝试使用jquery表单来改为使用ajax提交,我已成功地在我的服务器上查看并处理此请求,但在将新的HTML页面返回给客户端后,浏览器不再加载此新的页。我知道jquery / ajax是(至少部分地)在网页中启用交互功能而不必刷新整个内容,但有没有办法用它来实现这样的事情?

或者,是否有人对我如何实现目标有任何其他想法?

另外,为了确保 - 如果我想通过SSL(我最终做)提交此内容,我只需要更改此表单提交的URL以包含https而不是http,正确?

最好,谢谢,萨米

4 个答案:

答案 0 :(得分:2)

使用POST方法代替GET,当您使用GET时,表单值在查询字符串中可见

When should I use GET or POST method? What's the difference between them?

答案 1 :(得分:2)

使用post {} {}提交您的表单

get

使用POST进行破坏性操作,例如创建(我知道讽刺),编辑和删除,因为您无法在浏览器的地址栏中点击POST操作。如果允许某人呼叫某个动作是安全的,请使用GET。所以像这样的网址:

http://myblog.org/admin/posts/delete/357

应该带您进入确认页面,而不是简单地删除该项目。以这种方式避免事故要容易得多。

POST也比GET更安全,因为您没有将信息粘贴到URL中。因此,使用GET作为收集密码或其他敏感信息的HTML表单的方法并不是最好的选择。

最后一点:POST可以传输比GET更多的信息。我不记得每个的确切限制,但优势是显着的。

答案 2 :(得分:1)

表单操作中的

使用POST方法而不是GET

When do you use POST and when do you use GET?

答案 3 :(得分:0)

通常,对任何具有副作用的请求使用POST,例如更新数据库或从已注销更改为已登录。当你想要的只是检索页面时使用GET。

由于POST的实现方式,URL中不会出现任何参数。