每天进步一点点, fighting...
前后端分离,一般是使用ajax进行请求。ajax你了解多少,只会post,get? dataType了解不?contentType了解不?后台怎么接收?是对象接收,还是单个接收?一堆问题...一点点去搞懂吧! 哈哈
post与get区别
2. POST和GET的区别?
原理性的东西,网上比较多,自行搜索吧
从项目的角度,大多数用的post,结合JSON一起发送数据到后台,然后接收后台的数据,并以JSON来解析。当然get形式也会使用一些,参数比较少的时候(只有一两个的时候)。
application/x-www-form-urlencoded, (默认)
multipart/form-data,
application/json,
application/xml
application/x-www-form-urlencoded : 所有数据变成键值对的形式 key1=value1&key2=value2 ,ajax发送的就必须是对象,后台用pathVariable来接收
application/json :复杂数据类型必填, ajax发送的就必须是json字符串,记得是JSON字符串。后台用RequestBody来接收,可以是POJO,也可以是Map
multipart/form-data : 多使用于文件的上传
application/xml : xml格式的上传
var data = {name:"张三",age:12};
$.ajax({
type: "POST",
url: "test.php",
data:JSON.stringify(data),
dataType: "json",
contentType:"application/json;charset=utf-8",
success: function(data){
if (data.id) {
console.log(data.msg);
} else {
console.log("出现错误:" + data.msg);
}
},
error: function(jqXHR){
alert("发生错误:" + jqXHR.status);
},
});
dataType 是指定从服务器返回的数据的格式
后台接收
POST :
@PostMapping("queryLog") @ResponseBody public ResponseData getErrorLogList(@RequestBody Map<String, String> requestMap) {} public ResponseData queryPluList(@RequestParam Map allParam) {}
可以查看@RequestBody 和 @RequestParam的区别
@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个
另外,RequestParam这东西很特殊,应用范围比较多,数据可以是url后?后面的参数,也可以是data:JSON.stringify(data)里面的数据
GET :
@GetMapping("/checkValidate/{barCode}") @ResponseBody public ResponseData checkValidate(@PathVariable String barCode) {