问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jQuery的ajax post方式提交数据时参数问题。如果参数过多怎么办?

发布网友 发布时间:2022-05-06 23:31

我来回答

3个回答

懂视网 时间:2022-05-15 05:53

下面我就为大家带来一篇ajax快速解决参数过长无法提交成功的问题。现在就分享给大家,也给大家做个参考。

查了很多资料都说,get方法的参数是有限制的,post方法的参数的长度是无限制,这也是post相比get的优势一直。

在ajax中使用post方法,用常规的参数格式:param1=a1¶m2=a2 ,当参数长度过长时,依然提交不成功。比如我们经常这样写一个ajax的post请求:

这样使用的时候,发现若是参数2:content内容过多时,比如我传的是一个比较大的文本内容,我在后台服务(我用的是servlet)中获取时:

String content= request.getParameter("content");

这里的content的值,为null。

还有一种快捷的方法可以查看ajax请求是否成功,使用F12开发者工具进行调试,在执行完ajax代码后,在F12工具中的network选项页面中,可以看到发起的请求,这时候看到的请求的参数有错误提示。

解决方法:

ajax的参数格式还有另外一种写法:json格式的请求参数,我可以写成这样:

var param = "{requestTag:""+requestTag+"",content:""+content+""}";
(ps:注意json格式要正确)

这个时候,若是使用F12进行debug,可以看到请求的参数的数据都是正确的。

那么问题来了,我在servlet中获取的content依旧是null,这是为什么呢???

由于请求参数是一个json数据块,所以这种request.getParameter(“content”)方法,当然获取不到数据啦,因为它不会给我们解析json数据。

那么我们传递的参数数据在哪里呢?

重点来了:数据都在request对象里。

那么我们就用最原始的方法,通过数据流的方法获取传递的数据,如下:

这时候,我们的json数据都在sb对象中了,接下来只需要解析json对象就可以了:

到这里,我们就可以获取到content的了。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

AjaxSubmit()提交file文件

Ajax解决多余刷新的两种方法

Ajax同步和异步问题浅析及解决方法

热心网友 时间:2022-05-15 03:01

这不就是一个json格式的嘛,定义一个json变量不就OK啦
以前写的一个方法,可以做参考:
//获取受益人信息
function getBenifyinfo(){
var jsonString = {} ;
var benifys = [] ;
$("form").each(function(i){
var self = $(this) ;
var benifyInfo = {} ;
$.each(self.find("input[type!='button'],select"), function (name, o) {
var iptSelf = $(this);
var iptSelfId = iptSelf.attr("id") ;
var value = o.value ;
iptSelfId = iptSelfId.split("_")[0];
if(iptSelfId == "benifyName" || iptSelfId == "benifycountry" || iptSelfId == "benifyidenfynumber" ){
value = encodeURI(value);
}
eval("benifyInfo."+iptSelfId+"=value");
});
benifys[i] = benifyInfo ;
});
jsonString = {insert:benifys} ;
return jsonString ;
}

热心网友 时间:2022-05-15 04:19

拼接成一个json参数.
data:{"Param":[{"text":"a","value":"av"},{"text":"b","value":"bv"},...]};
或者
data : "filter=[a=av,b=bv,c=cv...]";
这样的格式
然后在后台将其处理成hashtable或者其他对象.追问这个我在网上看到了。有其他办法吗?如果我的参数名字都没有规律,怎么处理?有没有一个方法,把整个表单参数全部提交?

追答没有规律也要创造规律,至少有一点很清楚,一个有用的变量就必须能读能用,否则要他何用?
即然你用了jquery,就可以有计划有给"要用"的控件加class名,然后用$(".className")获取元素集合,根据type或者其依据获取id:value,做自动拼接.
你总不能把整个$("form").html()当参数回传吧...后台不得累死...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
南安椎间盘突出症的症状,悬壶邱腰神在陕西哪里 安康腰椎间盘突出一条腿麻保守治疗的方法,悬壶邱大夫的详细位置_百度知 ... 宣传片拍摄有哪些长处? 继承房产过户费用要多少? 继承5万房产过户需要多少费用多少钱 继承的房产过户需要多少费用 继承5万房产过户需要多少费用 灵芝茶减肥效果怎么样 南京滴滴和t3哪个收入多 属虎女人的和属鸡男人的配吗 放荡童年浪青春小说txt全集免费下载 我同学说我妈是一个像白洁一样的女人,是什么意思? 初一的妹妹喜欢哥哥的大学同学姓段是什么小说 社保交满15年后,没到退休年龄还要继续交吗 企业员工交社保,交完15年后没在上班了,但还没到退休年龄,请问一定还要继续缴纳社保吗,不缴纳可以 在单位缴纳社保满15年,没到退休年龄,离职后还需要续交嘛 社保已经交满了十五年,距退休年龄还差十年,现在不想交了。到退休时是否还要交? 为什么不可以更改? 社保缴满15年了还没到退休年龄,可以选择停缴吗? 苹果ipad为什么改不了? 微信不实名制的话,可以修改吗? 刚注册的微信可以改吗? 改不了怎么办 不可以改了吗? 微信改不了怎么办 怎么也改不了? 我的不能修改是什么原因? 微信可以登录但不能改 可以更改吗? 为什么不能修改 jquery ajax data参数 太长 jquery ajax post请求参数过长 放荡的背后电子书txt全集下载 【jsp】ajax使用post提交参数的内容过多时出现达到了post请求大小限制... 琴瑟琵琶的小说《单人床OR双人床》的结局到底是什么!同学会之后,后发生了什么事? 关于ajax提交地址追加参数问题 ztree jquery ajax 无法提交参数 action层一直为空,不知道怎么弄的 求解答 拍快手怎么弄17秒的 - 信息提示 求一本言情小说 大学女学姐与各种男的搞暧昧与男主角同学好上了又要 ...里提交了一个.do,但是跟的参数的值很长,无法提交到后台去,减少长度... 女主和同学当男主角的国家,被男主角当间谍抓住,被当着学生面*的小说? 我用jquery ajax向一般处理程序提交数据,如果连续输入点按钮提交第二... 先和女同学在一起然后分别和她的闺蜜在一起的小说,实在是想不起来了? ajax提交下出现这种失败怎么处理 男主是黄濑凉太,女主是他的同班同学,男主很喜欢女主后面将她关在自己的房间里,直到女主怀孕才和好小说? 快手怎么拍17秒 2022年离婚协议书是全国联网的吗? 一个人误吃灵药强奸同学坐牢,在监狱里有奇遇的小说 为什么我的快手,只能录,七秒而已,而别人的能录一首歌的时间,17秒20秒30秒50秒60秒都有,可