IE URL传送值的问题

项目遇到一个问题,在页面输入很长的值,点击提交的时候页面没有反应。后来发现这个值是通过URL传送到后台,而IE URL的最大长度只支持2083个字符。于是想把传递的方式改成POST,结果发现本来就是通过POST去传递的,但没有把该值放在参数里,而是直接拼在URL后面。

var XMLSender = g_GetXMLHTTPRequest();
XMLSender.Open("POST",url,false);
XMLSender.setRequestHeader("Content-Type","multipart/form-data");
XMLSender.send(xml);

于是把该值放在xml里去传送,发现后台一直接收不到值。后来才发现请求头的设置不对,应该是application/x-www-form-urlencoded。
在网上查资料,这二者的区别。
application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。
当想传递页面的值时,就使用前者;而当想发送大量文本数据或是二进制数据,比如文件上传时,就使用后者。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值