+ -
当前位置:首页 → 问答吧 → 通过url方式传递参数一定是通过get方法吗?

通过url方式传递参数一定是通过get方法吗?

时间:2011-08-27

来源:互联网

我们知道网页在客户端和服务端之间传递参数可以有get和post两种方法,其中get方法一般都是在url地址后面加上?参数=值&参数=值的形式调用,post是通过表单传递的。
现在的问题是,有个表单需要通过ajax方式进行提交,但是这个表单的长度可能超过get的最大限制,我们知道XMLRequest对象可以用POST进行请求,但是我要怎才能把这个表单中的内容交给post请求呢?现在知道的是通过以下方法
xmlHttp.open("POST", "./DiscussServlet?action=diss&type="+type+"&id="+id+"&contents="+contents)
这样的话就需要把所有参数都要放在url地址上,请问通过上面的方法传递的contents是不是还是要受到get方法对参数长度的限制?如果真要限制那么怎样解决这个问题?即怎样通过ajax提交大表单

作者: lxlsoft   发布时间: 2011-08-27

方法指定为Post时,你只管提交长的文本,看看情况。

PS:刚发布的网站SEO优化工具:点格网站日志分析器[IISLogViewer]

作者: cyq1162   发布时间: 2011-08-27

“url方式传递参数”指的是连接式的传递,这种传递都是get方式。。。

作者: qingYun1029   发布时间: 2011-08-27

引用 2 楼 qingyun1029 的回复:

“url方式传递参数”指的是连接式的传递,这种传递都是get方式。。。


其实你用ff浏览器的firebug就可以“监视”了,看看get和post提交究竟有哪些不同!

其中很重要的一点是:

get方式,将参数拼接到url后面,而post却没有。。

所以你这个问题根本不算问题,只是换了一种说话!

举个不雅的例子:“大便一定都是屎吗?”

你说呢?呵呵!!

作者: qingYun1029   发布时间: 2011-08-27

xmlHttpRequest POST用send
还要指明content-type
xmlHttp.setRequestHeader("content-type","application/x-www-form-urlencoded");

xmlHttp.send("action=diss&type="+type+"&id="+id+"&contents="+contents)

作者: zhouyuqwert   发布时间: 2011-08-27

10分可用分

作者: a1355538188   发布时间: 2011-08-27

引用 4 楼 zhouyuqwert 的回复:
xmlHttpRequest POST用send
还要指明content-type
xmlHttp.setRequestHeader("content-type","application/x-www-form-urlencoded");

xmlHttp.send("action=diss&type="+type+"&id="+id+"&contents="+co……

就像4楼说的先设置Header,
然后用send()方法,我试过没问题
post的send()方法是一定要设置header的要不然后台得不到

作者: JayYounger   发布时间: 2011-08-27