簡介
前後端資料互動。
總結前後資料交換的方式。
不管前後分離專案還是不分離都是需要前後資料互動,所以掌握多種前後資料交換方式以面對不同的業務需求。
建議由淺至深,get(查詢)、post(新增)、put(更新)、delete(刪除),最後遵循RESTful風格開發。
交換方式
- form表單提交方式
- json提交方式
- get請求提交方式
- put更新請求方式
- delete刪除請求方式
POST請求
form提交方式
#前端
<form action="/login" method="POST">
<div>
<label >賬號:</label>
<input type="text" name="uname" >
</div>
</div>
<div >
<label >密碼:</label>
<input type="password" name="pwd">
</div>
</div>
<div>
<button type="submit" >立即提交</button>
</div>
</div>
</form>
#後端
@PostMapping("/login")
public String login(AdUser user){
return "提交成功";
}
json提交方式
#前端
$.ajax({
url: "/login", //請求的url地址
dataType: "json", //後端返回的資料格式為json
contentType : 'application/json',
type: "POST", //請求方式
data:JSON.stringify(data.field),//將表單資料json格式化
success: function (req) { //後端響應成功後的處理
console.log(req)
}
});
#後端,@RequestBody註解就是接受json資料的
@PostMapping("/login")
public String login(@RequestBody AdUser user){
return "{\"code\":\"1\",\"msg\":\"提交成功\"}";
}
GET請求
方式1
#前端
$.get("/findById",{id:"id"},function(data, textStatus){
console.log(textStatus)
console.log(data)
});
#後端,@RequestParam註解把引數以http:www.baidu.com?id=1方式帶參給後端
@GetMapping("/findById")
public String findById(@RequestParam("id")int id){
return "{\"code\":\"1\",\"msg\":\"查詢成功\"}";
}
方式2
#前端
$.get("/findById/"+id,function(data, textStatus){
console.log(textStatus)
console.log(data)
});
#後端,@PathVariable註解把引數以http:www.baidu.com/1方式帶參給後端
@GetMapping("/findById/{id}")
public String findById(@PathVariable("id")int id){
return "{\"code\":\"1\",\"msg\":\"查詢成功\"}";
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結