本人对vue与后端数据交互不是很懂,搜索了很多关于vue与后端数据交互介绍,下面我来记录一下,有需要了解的朋友可参考。希望此文章对各位有所帮助。
必须引入一个库:vue-resource
1.获取普通文本数据
比如:a.txt:
welcomet to vue!!!
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<script src="http://unpkg.com/vue/dist/vue.js"></script>
<script src="https://cdn.jsdelivr.net/vue.resource/1.0.3/vue-resource.min.js"></script>
<script type="text/javascript">
window.onload = function(){
var vm = new Vue({
el:'#box',
data:{
msg:'Hello World!',
},
methods:{
get:function(){
//发送get请求
this.$http.get('a.txt').then(function(res){
alert(res.body);
},function(){
console.log('请求失败处理');
});
}
}
});
}
</script>
</head>
<body>
<div id="box">
<input type="button" @click="get()" value="按钮">
</div>
</body>
</html>
上面代码实现了,点击按钮,就发送get请求,然后把拿到的数据alert出来。
2.get发送数据给后端
假设后端地址是get.PHP,代码如下:
<?php
$a = $_GET['a'];
$b = $_GET['b'];
$c = $a + $b;
die($c);
this.$http.get('get.php',{a:1,b:2}).then(function(res){
alert(res.body);
},function(res){
console.log(res.status);
});
this.$http.get('get.php',jsonData) 第二个参数就是传到后端的数据。
3.post请求
post发送数据到后端,还需要第三个参数:{emulateJSON:true}
this.$http.post('post.php',{a:1,b:2},{emulateJSON:true}).then(function(res){
alert(res.body);
},function(res){
console.log(res.status);
});
4.jsonp
这是360搜索jsonp的接口: https://sug.so.360.cn/suggest?callback=suggest_so&word=a
我们看vue-resource如何使用jsonp
this.$http.jsonp('https://sug.so.360.cn/suggest',{word:'a'},{jsonp:'callback'}).then(function(res){
console.log(res.data);
},function(res){
console.log(res.status);
});