Vue的AJAX请求

Vue 要实现异步加载需要使用到 vue-resource 库。
1.GET请求

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GET</title>
<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
</head>
<body>
<div id="box">
	<input type="button" @click="get()" value="点我异步获取数据(Get)">
</div>
<script type = "text/javascript">
window.onload = function(){
var vm = new Vue({
    el:'#box',
    data:{
        msg:'Hello World!',
    },
    methods:{
        get:function(){
            //发送get请求
            this.$http.get('请求数据的url地址').then(function(res){
                //在页面打印请求的url地址中的数据
                document.write(res.body);    
            },function(){
                console.log('请求失败处理');
            });
        }
    }
});
};

//  如果需要传递数据,可以使用 this.$http.get('get.php',{params : jsonData})   格式,第二个参数 jsonData 就是传到后端的数据。

//  this.$http.get('get.php',{params : {a:1,b:2}}).then(function(res){
//     document.write(res.body);    
//  },function(res){
//     console.log(res.status);
//  });

</script>
</body>
</html>

2.POST请求

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>POST</title>
<script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></script>
</head>
<body>
<div id="box">
	<input type="button" @click="post()" value="点我异步获取数据(Post)">
</div>
<script type = "text/javascript">
window.onload = function(){
	var vm = new Vue({
	    el:'#box',
	    data:{
	        msg:'Hello World!',
	    },
	    methods:{
	        post:function(){
	            //发送 post 请求
	            //地址后面的json就是要发送的数据
	            this.$http.post('发送数据的url地址',{name:"admin",age:22},{emulateJSON:true}).then(function(res){
                    document.write(res.body);    
                },function(res){
                    console.log(res.status);
                });
	        }
	    }
	});
}
</script>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/qq_41557320/article/details/88839715