首页 » 开源 » 通过 JavaScrpit 传递 Post 变量

通过 JavaScrpit 传递 Post 变量

使用 Get 方式方式传递变量会把 URL 搞得很长,而且 IE 会对长度有限制,所以最好的方式还是通过 Post 方式来传递变量。但是通过 Post 来传递变量的时候一定要有个表单,很多时候页面上并没有表单,所以这个时候可以隐藏表单,然后通过 JavaScript 来提交表单。下面是个隐藏表单的例子:

<form action="form.php" name="the_form" method="POST">
<input type="hidden" name="field1" value="123">
<input type="hidden" name="field2" value="abc">
</form>

然后使用 JavaScript 函数来提交这个表单:

function js_post() {
  document.the_form.submit();
}

然后就可以通过各种方式来调用了,如在链接中:

<a href="javascript:js_post()">Submit</a>

或者通过事件,如在页面载入:

<body onLoad="js_post()">

标签:

分享到:

8 条评论 添加你的评论 →

  • 胡戈戈 2008-04-12 19:32:33 #

    好久没沙发

    支持 反对

  • ZZ 2008-04-12 19:40:12 #

    好久没板凳

    支持 反对

  • 易水寒 2008-04-12 20:16:07 #

    昨天 popularity contest 刚不兼容的 来过

    支持 反对

  • may 2008-04-12 20:31:48 #

    貌似就坐过一次沙发
    胡戈戈太不厚道了
    最近对这些很感兴趣
    坐下来慢慢看
    :grin:

    支持 反对

  • 手气不错 2008-04-12 23:18:59 #

    使用 POST 方式还是 GET 方式,还是要看具体的情况,个人不是很赞同使用 js 传递 POST 方式的方法,首先他需要客户端的 JS 支持,并且在用户毫不知情的情况下占用了用户的客户端资源,其次,这方式完全可以用 CURL 库做到,如果想单纯的认为“GET”生成的 URL 太长,完全可以考虑换种方式。

    支持 反对

    • Denis 2008-04-13 00:37:16 #

      嗯,这样只是提供一种方法,很多服务器是不支持 CURL 的。

      支持 反对

  • tomdbtel 2008-04-13 15:18:55 #

    就顶,有什么区别吗?看不出来

    支持 反对

  • sd3767912 2008-12-25 15:42:41 #

    用post提交的表单如何保持数据呢?如:在分页时需要保持查询参数

    支持 反对

发表评论

你必须 登陆 之后才能留言。你可以使用以下方式快速登陆我爱水煮鱼:

使用新浪微博登陆 使用腾讯微博登陆 使用豆瓣登陆

你也可选择直接在本站 注册