Vue微型架构:requestBody网络请求的模式与自定义协议的封装
2017-11-29 14:40
483 查看
如果我们使用vue来构架前端项目,我为自己设计了这样的一个小型架构,参考上一遍文章:《Jquery微型架构:requestBody网络请求的模式与自定义协议的封装》,在次基础上做了一些改变。
一、 首先是程序架构
其中包含jquery和vue两个外部包。需要下载导入。
二、页面文件login.html文件内容
三、js文件
其中properties.js、beans.js、jsonutils.ja文件和上一篇文章所讲一致。
1.requestutils.js文件有所改变,要按照vue的语法进行改写
2.关键的login.js也要按照vue的标准进行改写
四、运行结果
一、 首先是程序架构
其中包含jquery和vue两个外部包。需要下载导入。
二、页面文件login.html文件内容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>login</title> <script src="../js/vue.min.js"></script> <script src="../js/vue-resource.js"></script> </head> <body> <div id="app"> <table> <tr> <td>用户名:</td> <td><input v-model="username"/></td> </tr> <tr> <td>密码:</td> <td><input v-model="password"/></td> </tr> <tr> <td colspan="2"> <button v-on:click="login" style="width: 100%">登录</button> </td> </tr> </table> <p>{{info}}</p> </div> </body> <script src="../js/login.js"></script> </html>
三、js文件
其中properties.js、beans.js、jsonutils.ja文件和上一篇文章所讲一致。
1.requestutils.js文件有所改变,要按照vue的语法进行改写
// 把对象转换为json var RequestBodyAjax = function (url, requestBody, callback) { Vue.http({ url: url, method: "post", body: requestBody, contentType: 'application/json', }).then(function (response) { //var result = JSON.parse(response.data); console.debug(response.data); callback(response.data); }) }
2.关键的login.js也要按照vue的标准进行改写
//为页面引入实体类文件 document.write("<script type='text/javascript' src='../js/properties.js'></script>") document.write("<script type='text/javascript' src='../js/beans.js'></script>") document.write("<script type='text/javascript' src='../js/jsonutils.js'></script>") document.write("<script type='text/javascript' src='../js/requestutils.js'></script>") var mVue = new Vue({ el: "#app", data: { username: "Chris",//用户名 password: "gk123456",//密码 info: ""//显示调试信息 }, methods: { login: function () { // 获取输入的参数 var userName = this.username; var password = this.password; // 创建参数对象 var params = new LoginParams(); params.setName(userName); params.setPassword(password); // 创建请求体 var loginRequest = new WebRequest(params); loginRequest.setToken("ttyyuuii"); loginRequest.setVer("1.0"); // 构建requestBody var requestBody = ToJson(loginRequest); // 创建请求结果回调函数 var callback = function (data) { mVue.info = data; } // 发起异步请求 var url = baseUrl + 'getUser'; new RequestBodyAjax(url, requestBody, callback); } } })
四、运行结果
相关文章推荐
- Jquery微型架构:requestBody网络请求的模式与自定义协议的封装
- 移动架构31_责任链和模板模式封装连续请求
- AFN网络请求封装(MRC模式, 若是ARC模式 需添加 -fno-objc-arc )
- vue中axios 配置请求拦截功能 及请求方式如何封装
- Vue: axios 请求封装及设置默认域名前缀 (for Vue 2.0)
- 浅谈在Vue-cli里基于axios封装复用请求
- 理解vuex的状态管理模式架构
- Android 单例模式封装 RxJava+Retrofit 网络请求
- Struts2学习之2(请求参数的封装,类型转换,输入验证,自定义拦截器)
- Angular JS 学习笔记(自定义服务:factory,Promise 模式异步请求查询:$http,过滤器用法filter,指令:directive)
- 基于Netty的RPC架构笔记7之自定义序列化协议
- 【vue 组件 mint-ui】 看了一下源码,给轮播图Swiper封装自定义跳转的函数
- ios自定义异步post网络请求的封装
- ios 自定义协议继承NSURLProtocol设置请求头
- 自定义封装Volley的请求集合
- 在Vue-cli里基于axios封装复用请求
- IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
- stream_register_wrapper 注册一个用 PHP 类实现的 URL 封装协议 允许用户实现自定义的协议处理器和流
- 【Android架构】基于MVP模式的Retrofit2+RXjava封装(一)
- OC-向table中添加数据&table的编辑模式&通过封装自定义cell