千家信息网

ajax如何解决参数过长无法提交成功的问题

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章主要介绍了ajax如何解决参数过长无法提交成功的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。查了很多资料都说,get方法
千家信息网最后更新 2024年11月19日ajax如何解决参数过长无法提交成功的问题

这篇文章主要介绍了ajax如何解决参数过长无法提交成功的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

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

$.ajax({  type: "post",  // post or get  contentType:"application/json;charset=utf-8",  data: "requestTag="+tag+"&content="+content,  //请求参数  url: "postMockJson",   //地址  dataType: "text",  error: function (err) {   outLog("错误"+err);  },  success: onSaveSuccess});

这样使用的时候,发现若是参数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对象里。

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

request.setCharacterEncoding("UTF-8");StringBuilder sb = new StringBuilder();try(BufferedReader reader = request.getReader();) {char[] buff = new char[1024];int len; while((len = reader.read(buff)) != -1) {  sb.append(buff,0, len);  }}catch (IOException e) {   e.printStackTrace();}

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

JSONObject jobject = JSONObject.fromObject(sb.toString());String requestTag = jobject.getString("requestTag");String content = jobject.getString("content");

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

感谢你能够认真阅读完这篇文章,希望小编分享的"ajax如何解决参数过长无法提交成功的问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

参数 数据 方法 成功 格式 篇文章 问题 对象 内容 工具 时候 若是 错误 长度 原始 接下来 代码 价值 优势 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 浙江正泰网络技术有限 南邮网络技术模考 邮箱发送文件夹服务器连接错误 世界网络的根服务器 易语言远程连接服务器桌面代码 手机企业软件开发平台有哪些 2014年科技互联网红利 网络安全公司的问题有哪些 简御互联网科技上海有限公司 维持软件开发需要什么消耗品 lol验证服务器连接不上 深圳车童网络技术公司 温州教育网络安全培训会 剑灵一区哪个服务器人多 广东惠州网络安全周 维护网络安全人人有责宣传 网信杯网络安全 河北线上生鲜配送软件开发 信阳市网络安全宣传周启动 安卓应用软件开发是什么 湖南北斗卫星授时服务器云主机 生存战争2服务器版本下载 尚义县网络安全培训班 重庆软件开发管理工资 宿州餐饮软件开发哪家好 数据库应用技术课程描述 健康网络安全作文 光网服务器连通性异常 数据库技术培训英文 江阴通用软件开发怎么样
0