axios介绍
- (1)以前 vue-resource
vue-resource是Vue.js的插件提供了使用XMLHttpRequest或JSONP进行Web请求和处理响应的服务 - (2)现在(2.0之后) axios
是一个基于 promise 的 HTTP 库
,可以用在浏览器和 node.js 中
美 [ˈprɑ:mɪs]
axios的github:https://github.com/axios/axios
axios使用
<body>
<div id="app">
<input @click="myget2()" type="button" value="get请求">
<hr/>
<input @click="mypost()" type="button" value="post请求">
</div>
</body>
<script>
var vm = new Vue(
{
el:'#app',
data:{
} ,
methods:{
myget:function () {
axios.get('/users/find.do?id=1')
.then(function (response) {
console.log(response);
alert(response.data)
})
.catch(function (err) {
console.log(err);
alert(response.err)
});
},
myget2:function () {
axios.get('/users/find.do', {
params: {
id: 1
}
})
.then(function (response) {
console.log(response);
})
.catch(function (err) {
console.log(err);
});
},
mypost:function () {
axios.post('/users/find2.do', {
id:1
})
.then(function (res) {
console.log(res);
})
.catch(function (err) {
console.log(err);
});
}
}
}
)
</script>
- 将{id:1} 这个
json提交给后台
,后面需要一个对象来接收 ,·`参数要加@RequestBody - RequestBody将json转换成User对象
@RestController
@RequestMapping("/users")
@Slf4j
public class UserController {
@RequestMapping(path = "/find.do",method = {RequestMethod.GET})
public Object get(Integer id){
log.info("get id "+id);
User user = new User();
log.info("get user "+user);
user.setId(id);
user.setUsername("jack"+id);
return user;
}
@RequestMapping(path = "/find2.do",method = {RequestMethod.POST})
public Object post(@RequestBody User u){
log.info("post id "+u.getId());
User user = new User();
user.setId(u.getId());
user.setUsername("jack"+u.getId());
return user;
}
}