在vue中并无方法让咱们进行先后端数据交互,可是有我的写了个插件叫
vue-resource
,这个插件可让咱们正常的进行先后端数据交互
vue-resource
下载下载代码:html
cnpm/npm/bower install vue-resource
下载完以后就能够设定一个事件让登录注册触发
<script src="vue-resource.js"></script>
前端
html部分: 用户名:<input type="text" v-model="user"><br/> 密码:<input :type="passwordBtn" v-model="password"><br/> <input type="button" value="submit" @click="login"> js部分: new Vue({ el:'body', data:{ user:'', password:'', }, methods:{ login:function(){ console.log(this.$http); } } })
vue-resource
插件的链入,那么console.log(this.$http);
就会失效,控制台显示undefined,由于$http
方法是由这个插件赋予的vue-resource
插件的用法$http
get/post
示范代码接上文,默认在方法内开始写:vue
login():function{ this.$http.get('http://localhost:****',{ user:this.user, pass:this.pass }); }
then
方法加入一个报错判断,方法内传入两个处理函数{'ok':1}
data
属性是咱们所须要的,是咱们自定义send
过来的,ok
则是咱们自定义的内容login():function{ this.$http.get('http://localhost:****',{ user:this.user, pass:this.pass }).then(function(dat){ if(dat.data.ok==1){ alert('登录成功'); }else{ alert('登录失败'); } },function(){ console.log('传输失败'); }); }
then
方法的catch
方法,效果同样login():function{ this.$http.get('http://localhost:****',{ user:this.user, pass:this.pass }).then(function(dat){ if(dat.data.ok==1){ alert('登录成功'); }else{ alert('登录失败'); } }).catch(functino(){ console.log('传输失败'); }); }
要导入的模块有:node
cnpm/npm/bower
这几个包管理器var express=require('express'); var bodyParser=require('body-parser'); var server = express();
$http
方法内的地址用到server.listen(****);
git
server.use(bodyParser.urlencoded());
express
server.use(express.static('./'));
npm
var json = { 'bill':'111' }
get
,因此这里经过req.query
来解析前端发送到后端的数据user
值做为json的key
值或获得的json.user
的value值恒等于前端的pass
值则发送一个json数据,不然发送另外一个json数据,这里发送的数据将在前端then
方法的第一个参数传入使用server.use('/a',function(req,res){ console.log(req.query); if(json[req.query.user]==req.query.pass){ res.send({ok:1,'msg':'登录成功'}); }else{ res.send({ok:0,'msg':'用户名或密码错误'}); } })
key:value
,能够用中括号[]
代替.
来访问到key所对应的value。key
对应的是bill
,value
对应的是111
,req.query.user
得到到的前端数据是用户输入双向绑定到了vue实例的data内的user,req.query.pass
获取到的数据是用户输入双向绑定到data 的passjson[bill]==111
=》111==111
json