通过 JavaScrpit 传递 Post 变量
2008年04月12日
使用 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 条评论 添加你的评论 →

1. 胡戈戈 | 2008:04:12 - 19:32:33 | #
好久没沙发
2. ZZ | 2008:04:12 - 19:40:12 | #
好久没板凳
3. 易水寒 | 2008:04:12 - 20:16:07 | #
昨天 popularity contest 刚不兼容的 来过
4. may | 2008:04:12 - 20:31:48 | #
貌似就坐过一次沙发
胡戈戈太不厚道了
最近对这些很感兴趣
坐下来慢慢看
5. 手气不错 | 2008:04:12 - 23:18:59 | #
使用 POST 方式还是 GET 方式,还是要看具体的情况,个人不是很赞同使用 js 传递 POST 方式的方法,首先他需要客户端的 JS 支持,并且在用户毫不知情的情况下占用了用户的客户端资源,其次,这方式完全可以用 CURL 库做到,如果想单纯的认为“GET”生成的 URL 太长,完全可以考虑换种方式。
6. Denis | 2008:04:13 - 00:37:16 | #
嗯,这样只是提供一种方法,很多服务器是不支持 CURL 的。
7. tomdbtel | 2008:04:13 - 15:18:55 | #
就顶,有什么区别吗?看不出来
8. sd3767912 | 2008:12:25 - 15:42:41 | #
用post提交的表单如何保持数据呢?如:在分页时需要保持查询参数