HTTP请求中的form data和request payload的区别
来源:互联网 发布:哪些游戏unity3d 编辑:程序博客网 时间:2024/05/18 17:01
HTTP请求中的form data和request payload的区别:
jQuery的ajax方法和post方法分别发送请求,在后台Servlet进行处理时结果是不一样的,比如用$.ajax方法发送请求时(data参数是一个JSON.stringify()处理后的字符串,而不是一个JSON对象)
java后台接收方式不一样,
(form data)可以用request.getParameter(接收参数名)
(request payload)用request.getParameter是接收不到值,必须用输入流获取,得到字符串在转json
request payload例子:
前端代码:
//fetch的实现
var page=0;
function data(){
page++;
// formData.append("page", page);
// formData.append("currentPageNo", 1);
fetch('/getNineGoods_wap.shtml',{
method:"post",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body:JSON.stringify({page:page}),
})
.then((res) => {
return res.json();
})
.then( (datas) => {
console.log("新增角色--返回",datas);
if(datas.status === "200"){
console.log(datas.nineGoodsList)
}
})
.catch( (e) => {
console.log(e);
})
}
$('.cd').on('click',function(){
data();
})
后台代码:
//得到一个json字符串(如:{"page":2})
String payloadRequest = getBody(request);
//转为json对象
JSONObject jsonObject = JSONObject.fromObject(payloadRequest);
String page = jsonObject.getString("page");
//获取http请求中的request payload
public static String getBody(HttpServletRequest request) throws IOException {
String body = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
body = stringBuilder.toString();
return body;
}
jQuery的ajax方法和post方法分别发送请求,在后台Servlet进行处理时结果是不一样的,比如用$.ajax方法发送请求时(data参数是一个JSON.stringify()处理后的字符串,而不是一个JSON对象)
java后台接收方式不一样,
(form data)可以用request.getParameter(接收参数名)
(request payload)用request.getParameter是接收不到值,必须用输入流获取,得到字符串在转json
request payload例子:
前端代码:
//fetch的实现
var page=0;
function data(){
page++;
// formData.append("page", page);
// formData.append("currentPageNo", 1);
fetch('/getNineGoods_wap.shtml',{
method:"post",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body:JSON.stringify({page:page}),
})
.then((res) => {
return res.json();
})
.then( (datas) => {
console.log("新增角色--返回",datas);
if(datas.status === "200"){
console.log(datas.nineGoodsList)
}
})
.catch( (e) => {
console.log(e);
})
}
$('.cd').on('click',function(){
data();
})
后台代码:
//得到一个json字符串(如:{"page":2})
String payloadRequest = getBody(request);
//转为json对象
JSONObject jsonObject = JSONObject.fromObject(payloadRequest);
String page = jsonObject.getString("page");
//获取http请求中的request payload
public static String getBody(HttpServletRequest request) throws IOException {
String body = null;
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
body = stringBuilder.toString();
return body;
}
0 0
- HTTP请求中的form data和request payload的区别
- HTTP请求中的form data和request payload的区别
- HTTP请求中的form data和request payload的区别
- HTTP请求中的form data和request payload的区别
- HTTP请求中的form data和request payload的区别
- node爬虫HTTP请求中的form data和request payload的区别
- HTTP请求中的form data和request payload的区别等(转载)
- Request Payload 和 Form Data 的区别
- HTTP AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- request payload和form data
- vue axios POST请求中参数以form data和request payload形式的原因
- HTTP请求中的form data,request payload,query string parameters以及在node服务器中如何接收这些参数
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- 高斯消元(唯一解)
- HTML5-表格标签
- Toast的悬浮窗使用
- Android stdio IDE环境下debug代码不显示变量值
- tomcat警告setting property 'debug' to '0' did not find a matching property
- HTTP请求中的form data和request payload的区别
- matlab实现形态学处理
- setfacl和getfacl有何用处
- 2017.3.11第三次測試總結
- openssl证书初始生成证书公私钥的方法
- 自动完成文本框AutoCompleteTextView
- mysql 查询当前月 第一天/最后一天 时间
- Merge k Sorted Lists-LeetCode
- linux命令