ajax参数传递与后台接收

Servlet中读取http参数的方法

  • Enumeration getParameterNames() 返回一个 String 对象的枚举,包含在该请求中包含的参数的名称
  • String getParameter(String name) 以字符串形式返回请求参数的值,或者如果参数不存在则返回 null。
  • String getQueryString() 返回包含在路径后的请求 URL 中的查询字符串。
  • String[] getParameterValues(String name) 返回一个字符串对象的数组,包含所有给定的请求参数的值,如果参数不存在则返回 null。
  • ServletInputStream getInputStream() 使用 ServletInputStream,以二进制数据形式检索请求的主体。

ajax默认contentType为application/x-www-form-urlencoded

使用默认contentType,参数追加到url后传递

$.ajax({url: "http://localhost:8082/boot/request/parameter?name=aaa&paraB=bbb",contentType: "application/x-www-form-urlencoded;charset=utf-8",success: function(json){console.log(json);}
});
//请求中包含的参数的名称
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {String s = parameterNames.nextElement();System.out.println("getParameterNames:" + s);String paraA = request.getParameter(s);System.out.println("getParameter:" + paraA);
}// 返回包含在路径后的请求 URL 中的查询字符串
String queryString = request.getQueryString();
System.out.println("getQueryString:" + queryString);

使用默认contentType,参数放到data中传递

$.ajax({url: "http://localhost:8082/boot/request/parameter",contentType: "application/x-www-form-urlencoded;charset=utf-8",data: {name: "aaa", paraB:"bbb"},success: function(json){console.log(json);}
});
//请求中包含的参数的名称
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {String s = parameterNames.nextElement();System.out.println("getParameterNames:" + s);String paraA = request.getParameter(s);System.out.println("getParameter:" + paraA);
}

使用默认contentType,data中传递数组

$.ajax({url: "http://localhost:8082/boot/request/parameter",type: "post",contentType: "application/x-www-form-urlencoded;charset=utf-8",data: {foo: ["bar1", "bar2"]},success: function (json) {console.log(json);}
});
// 返回一个字符串对象的数组
String[] parameterValues = request.getParameterValues("foo[]");
if (parameterValues != null) {for (String parameterValue : parameterValues) {System.out.println("getParameterValues:" + parameterValue);}
}

使用contentType为application/json,在data中传递复杂参数

$.ajax({url: "http://localhost:8082/boot/request/parameter",type: "post",contentType: "application/json;charset=utf-8",data: JSON.stringify({name: "aaa", foo: ["bar1", "bar2"]}),success: function (json) {console.log(json);}
});
// 以二进制数据形式检索请求的主体
ServletInputStream inputStream = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {sb.append(line);
}
System.out.println("getInputStream:" + sb);

使用contentType为application/json,在data中传递复杂参数,并使用springmvc接收

$.ajax({url: "http://localhost:8082/boot/request2/requestBody",type: "post",contentType: "application/json;charset=utf-8",data: JSON.stringify({id: 111, name: "aaa", foo: ["bar1", "bar2"]}),success: function (json) {console.log(json);}
});
@RequestMapping(value = "/requestBody")
public void RequestBody(@RequestBody User user) throws IOException {System.out.println(user.toString());
}

url追加参数与data中放json同时使用

$.ajax({// url: "http://localhost:8082/boot/request/parameter?userName=aaa",url: "http://localhost:8082/boot/request2/parm?userName=aaa",type: "post",contentType: "application/json;charset=utf-8",data: JSON.stringify({id: 111, name: "aaa", foo: ["bar1", "bar2"]}),async:false,success: function (json) {console.log(json);}
});
//请求中包含的参数的名称
Enumeration<String> parameterNames = request.getParameterNames();
while (parameterNames.hasMoreElements()) {String s = parameterNames.nextElement();System.out.println("getParameterNames:" + s);String paraA = request.getParameter(s);System.out.println("getParameter:" + paraA);
}
// 以二进制数据形式检索请求的主体
ServletInputStream inputStream = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {sb.append(line);
}
System.out.println("getInputStream:" + sb);

@RequestMapping(value = "/parm")
public void parm(@RequestParam String userName, @RequestBody User user) throws IOException {System.out.println("userName:" + userName);System.out.println(user.toString());
}

ajax参数传递与后台接收【转存】相关推荐

  1. js ajax java传参_ajax参数传递与后台接收

    @ ajax参数传递与后台接收 Servlet中读取http参数的方法 Enumeration getParameterNames() 返回一个 String 对象的枚举,包含在该请求中包含的参数的名 ...

  2. java后台解析json并保存到数据库_[Java教程]ajax 发送json 后台接收 遍历保存进数据库...

    [Java教程]ajax 发送json 后台接收 遍历保存进数据库 0 2017-09-25 15:00:23 前台怎么拿参数的我就不管了我也不会 反正用这个ajax没错 ajax 代码   一定要写 ...

  3. ajax传递数组后台接收不到值的问题

    背景: JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值. 后台语言:java 原因: ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对 ...

  4. ajax传递数组,后台接收

    页面 var names = new Array();//获取以name开头的input$("input[id^='name']").each(function(i){names[ ...

  5. ajax传递excel后台接收,前端上传EXCEL文件,后台servlet怎么获取EXCEL中的数据

    //excel文件 private File xlsFile; //excel列名 private static final String[] SALARYIMPORTVALUE_COLUMN_NAM ...

  6. ajax传递数组到后台时为空,ajax传递数组,后台接收为null解决方法

    traditional:true,加上这个就好,默认为false,即允许深度序列化参数,但是servlet api不支持,所有设为true阻止就好了. $.ajax({ type:'post', ur ...

  7. php ajax向后台怎么传数组,利用ajax传递数组及后台接收的方法详解

    这篇文章主要给大家介绍了关于利用ajax传递数组及后台接收的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们一起来学习学习吧. 前言 我们在使用ajax异步的提交多选框得到需要 ...

  8. ajax传图片以及后台接收,Ajax上传图片,后台使用SpringBoot的MultipartFile类型接收的问题...

    Ajax很好用,但是在上传文件这边却总是会出问题.例如,现在想上传一张图片,希望前台无刷新操作,使用Ajax上传,后台接收不到相应的类型,导致上传失败,但是如果使用input和submit组合又会出现 ...

  9. vue写ajax访问springboot后台发送和接收数据

    vue写ajax访问springboot后台发送和接收数据 遇到的问题 一.没有引入js,以前一直使用公司封装后的,现在自己建立项目忘记引入很多js. 二.JS的顺序不能变,在用 this.$http ...

最新文章

  1. selenium的基础知识点
  2. Matlab与线性代数 -- 矩阵的右除
  3. 虚拟机vcenter如何增加磁盘_vSphere 6 下创建数据库RAC虚拟机共享磁盘
  4. 新手零基础学习Python第一步,搭建开发环境!
  5. Redis三种特殊类型
  6. mean,std,var
  7. java libpcap,Linux下编译安装libpcap
  8. 【算法设计与分析】10 差消法化简高阶递推方程
  9. redis 查看key的有效期_redis中key设置过期时间
  10. mysql排重_mysql 排重查询
  11. 传统的jsp+servlet的经典的MVC开发模式详细步骤,框架的知识点转换,各模块的以及各配置的作用,学习框架必备知识,框架基础技术JDBC(一)
  12. php 触摸键盘,window_Win10正式版新增键盘快捷键和触摸手势汇总篇,  微软在新一代操作系统Win1 - phpStudy...
  13. 【第70期】终于找到了!AI学习路线图——从零基础到就业
  14. 如何删除Mac下载PS后莫名其妙多出来的几个程序
  15. InputStream输入流七牛上传图片
  16. 成为新时代大数据工程师要满足哪些要求?
  17. input输入框输入中文时,需要计数input输入的汉字数,解决拼音输入的时候计数问题
  18. python爬虫20 | 小帅b教你如何使用python识别图片验证码
  19. 解密「UWB」精准定位黑科技
  20. Graphql入门_1

热门文章

  1. 看精确召回率和f1得分
  2. 牛客网 2018校招真题 网易 骰子游戏
  3. 逆战班第一篇:CSS动画
  4. 用python自带的tkinter做游戏(二)—— 俄罗斯方块 篇
  5. 密码翻译(信息学奥赛一本通-T1136)
  6. 格物云设备接入-MQTT方式
  7. Pr:基本图形(对齐并变换)
  8. Windows自动化上传文件至FTP
  9. SD卡介绍(基于SPEC3.0)
  10. 关于linux设备树的简单理解(基于linux-5.13.5)