AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
AJAX对于JAVA接收HttpServletRequest和json字符串两种方式的传递写法
1、json字符串的接收形式
在JAVA项目开发中,接口的接收参数有的是以json
字符串 形式接收的,后台写法如下:
public ObjectMapper jsonTranster = new ObjectMapper();
@CrossOrigin
@RequestMapping(value="/add" ,method=RequestMethod.POST)
public Object addZjLy(@RequestBody String po){
FpzjLyb sq;
try {
sq = jsonTranster.readValue(po, FpzjLyb.class);
} catch (IOException e) {
return getResultMap(3);
}
//此处省略
}
对于这种的接收,前端ajax的写法如下:
var zzData = {
id:1
};
zzData = JSON.stringify(zzData); //必写
$.ajax({
url: interUrl + "/fpzjZzsq/add",
type: "POST", //必写(GET请求就写GET)
dataType: "json", //必写
contentType: "application/json", //必写
data: zzData,
success: function (data) {
//此处省略
},
error: function (data) {
console.log("")
}
})
2、HttpServletRequest的接收形式
有的是以HttpServletRequest
形式接收的,后台写法如下:
@RequestMapping(value="/login",method=RequestMethod.POST)
@ResponseBody
public Object loginForm(HttpServletRequest request) {
String username = request.getParameter("username");
String password = request.getParameter("password");
//以下省略
}
对于这种的接收,前端ajax的写法如下:
var qData = {
username:lingdada,
password:121212
};
$.ajax({
type: "POST",
url:"/fpzj/facade",
contentType: "application/x-www-form-urlencoded",
data: qData,
success: function (data) {
//此处省略
},
error: function (data) {
console.log("")
}
});
对于上边的注意地方是,contentType
这个绝对不能写成那个application/json,因为这个是对json
才是用的,对于application/x-www-form-urlencoded
,亲测是有效,但是如果你前端项目里没有加上对于ajax的发送接口设置了一些初始的配置,我觉得,这个contentType
可以不定义,但是你加上我这样的配置,绝对可以的。
对于x-www-form-urlencoded
的用法,我找了一篇文章,简单介绍了下它与json
的用法区别
选application/x-www-form-urlencoded还是application/json?
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
3 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献8条内容
所有评论(0)