@

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 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 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 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());

}

js ajax java传参_ajax参数传递与后台接收相关推荐

  1. js ajax java传参_js使用ajax传值给后台,后台返回字符串处理方法

    之前使用js获取后台生成的JSON字符串,然后给select填充值,这次需要重新获取一次. 这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存在,如果存在返回几个字段给前台 ...

  2. js ajax上传文件功能

    js ajax上传文件功能 ajax请求 php接收文件(yii框架) ajax请求 <form enctype="multipart/form-data"><i ...

  3. ajax参数传递与后台接收【转存】

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

  4. ajax使用pur请求怎么传参,数组参数传递给控制器的方式

    开发工具与关键技术:Visual Studio 与jquery.C# 作者:黄灿 撰写时间:2019.7.5 在项目上多多少少都会有些地方会使用到批量增删改的地方,删除可以通过ID获取到每一条数据然后 ...

  5. Java传参是字节还是字符串好_深入分析java传参

    概述 java中的参数传递问题可以根据参数的类型大致可以分为三类:传递基本类型,传递String类型,传递引用类型,至于最终是否可以归纳为值传递和引用传递,根据每个人的理解不同,答案不同,此处不做强调 ...

  6. mybatis java传参_[Java教程]Mybatis批量和传参

    [Java教程]Mybatis批量和传参 0 2014-07-31 04:00:12 MyBatis中批量插入 方法一: resultType="java.lang.String" ...

  7. a标签用ajax请求传参,Django中如何实现传参的Ajax请求

    带参数的Ajax请求 通过Ajax实现下面的功能: 在实现这个功能之前需要掌握的点: 1.在学习jQuery时,我们知道: 获取input标签中输入的值:$("#num1").va ...

  8. String的按值传递,java传参都是传值

    java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? String和int参数传递是按值传递还是引用传递? 一道面试题目,String的传递: 1 2 3 4 5 6 7 8 9 pub ...

  9. Java - 传参到底是哪种? pass by value or pass by reference

    在了解Java传参数是pass by value或是pass by reference之前,先了解=赋值的用法会对理解传参很有帮助 赋值(=)的用法 =的意义是赋值,但是这个赋值用在 基本类型 和 对 ...

最新文章

  1. ASP.net(C#)批量上传图片(完整版)
  2. 100例shell脚本之八远程管理获得hosts ip以及推送公钥到hosts
  3. Android -- TouchDelegate
  4. 开学季:当当大促的额外优惠又来啦!150 买 400的书!搓搓搓~
  5. 6个月达不到25.6万年薪AI工程师,进不了大厂全额退款
  6. RocketMQ各种集群模式介绍
  7. PCB板上的“特殊焊盘”到底起什么作用?
  8. 银行不是很喜欢客户分期吗?为何申请信用卡分期被拒绝了?
  9. ASP.NET 2.0 中的新增服务、控件与功能概述(四)
  10. RabbitMQ详解(三)
  11. Linux 多线程可重入函数
  12. web前端基础(06css)
  13. 利用Ajax实现DataGrid无刷新分页(AjaxGrid)【转】
  14. ASP.NET 2.0中执行数据库操作命令之二
  15. PuTTY怎么读,PuTTY怎么发音,PuTTY的发音
  16. windows server 2008共享文件夹
  17. Linuxnbsp;cat命令详解
  18. python爬虫有趣的应用软件_Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序...
  19. 基础算法(二):迭代、递归与分治
  20. 怎样破坏程序的堆栈?

热门文章

  1. 从零开始学C++之STL(七):剩下5种算法代码分析与使用示例(remove 、rotate 、sort、lower_bound、accumulate)...
  2. 实战~~整个网络无法浏览,提示网络不存在或者尚未启动
  3. .NET点滴:SpanT
  4. .NET 为大型应用接入 ApplicationStartupManager 启动流程框架
  5. CondenserDotNet - 使用 Kestrel 和 Consul 的 API 反向代理库!
  6. Avalonia跨平台入门第一篇
  7. 如何做到 byte[] 和 十六进制 互转?
  8. 为什么 Linux 上的 Asp.NET 5 需要 Kestrel ?
  9. .NET 6 Preview 3 中 ASP.NET Core 的更新和改进
  10. 使用SignalR从服务端主动推送警报日志到各种终端(桌面、移动、网页)