开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过Ajax请求来完成,在服务端未完成开发时,前端需要有一个可以模拟Ajax请求的服务器。

在NodeJs环境下,通过配置express可访问的静态资源,实现模拟数据请求

由于对NodeJS还不是很熟悉,所以,文中可能有不少错误的地方,请谅解,欢迎批评和指正

服务开发运行环境文件配置

目录结构说明

整个vue.js项目的一般目录结构如下:

  • build 编译打包和开发模式下运行的主要文件
  • config 编译打包和开发模式下相关的配置文件
  • node_modules 项目依赖的模块如:vue.js、vue-router、vuex、bootstrap等,可以在package.json中配置依赖的模块
  • src 项目主要代码源文件放在
  • static 静态资源文件
  • cms 存放模拟Ajax请求所返回的json数据,cms为请求的项目名

修改配置文件

一般情况下,网站部署很多时候都会部署在某个项目下,例如,我们的系统为管理系统,则部署在 /cms中,本地访问后台相关的接口,基本都是以下访问127.0.0.1:8080/cms开头的路径

通过在NodeJs中,添加可访问的静态资源的文件夹 cms,存放相应请求接口返回json数据,模拟请求后台数据

修改build下的dev-server.js文件,添加以下代码:

//添加可访问的静态资源路径(./cms)
app.use(staticPath, express.static('./cms')) /**
* 拦截 带有.do后缀的请求,读取对应名称的.json文件,返回给前端
* 例如:前端登录时,Ajax请求为 127.0.0.1:8080/cms/mgr/auth/mgrAdminLogin.do,
* 则读取 cms/mgr/auth 目录下的mgrAdminLogin.json,并将数据返回给前端,mgrAdminLogin.json为前端希望得到的数据(具体格式与后台开发人员协商)
*/
app.post('*.do',dummyData );
function dummyData(paramRequest, paramResponse){
var path = './' + paramRequest.url.slice(0, -2) + 'json';
fs.readFile(
path,
function (err, contents) {
if (!err) {
contents = contents.toString('utf8');
paramResponse.writeHead(200, { "Content-Type": "application/json" });
paramResponse.end(contents);
} else {
paramResponse.writeHead(404, {"Content-Type": "text/plain"});
paramResponse.end("404 Not found");
}
}
);
}

其中app.use(staticPath, express.static('./cms'))./cms为请求的根目录,设置为与后台请求的路径一致,这样在正式发布时就不需要再改代码

在main.js中配置请求根目录

使用vue-resource进行Ajax数据请求,配置请求的根目录为cms

以登录为例,登录的请求代码如下:

this.$http.post('mgr/auth/mgrAdminLogin.do', params).then(response => {
this.tip = ''
let result = response.data
if (result.resultCode === '10000' || result.resultCode === 10000) {
let data = result.data || {}
let userInfo = {
account: data.account || '',
id: data.id || -1
}
this.$route.router.go({path: '/MainPanel'})
} else {
this.tip = result.resultMsg
}
}, response => {
this.tip = '登录失败!错误码:' + response.status
})

模拟请求响应的json数据如下:

VueJS搭建简单后台管理系统框架 (二) 模拟Ajax数据请求的更多相关文章

  1. VueJS搭建简单后台管理系统框架(一)环境搭建

    做这份笔记的时候,Vue.js还是1.0,10月份Vue已经升级到2.0,这边也进行相应的更新,用Vue2.0进行一个简单的环境搭建 饿了么也刚好开源了其基于Vue.js的UI框架element-ui ...

  2. 简单后台管理系统框架--HTML练手项目2【Frameset】

    [本文为原创,转载请注明出处] 技术[HTML]   布局[Frameset] 无步骤 <!DOCTYPE html> <html lang="en"> & ...

  3. mock.js模拟ajax数据请求

    在我们开发过程中存在着前端页面ui完成了,但是没有接口进行联调数据的情况,现在介绍一下用mock.js来完成数据的请求.这样在后期我们的后台接口完成后只需要更改请求的接口名字即可!前提是你的模拟字段名 ...

  4. 从零搭建java后台管理系统(二)mysql和redis安装

    接上篇开始安装mysql和redis 注意了,如果用阿里云服务器,外网访问的端口必须在安全组开启,否则外网访问不通 三.服务器安装redis和mysql 本次环境搭建将所有第三方服务会安装在阿里云服务 ...

  5. ASP.NET MVC搭建项目后台UI框架—5、Demo演示Controller和View的交互

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  6. 使用React全家桶搭建一个后台管理系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术 ...

  7. ASP.NET MVC搭建项目后台UI框架—1、后台主框架

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  8. ASP.NET MVC搭建项目后台UI框架—7、统计报表

    ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...

  9. ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

随机推荐

  1. web Form 表单method="get" method="post" 区别

    get和post方法的不同 在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的.Form提供了两种数据传输的方式——get和post.虽然它们都是数据的提交方式,但是在实际 ...

  2. 【.Net】文件并发(日志处理)--队列--Redis+Log4Net

    多线程操作同一个文件时会出现并发问题.解决的一个办法就是给文件加锁(lock),但是这样的话,一个线程操作文件时,其它的都得等待,这样的话性能非常差.另外一个解决方案,就是先将数据放在队列中,然后开启 ...

  3. 生成HFile文件后倒入数据出现Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.filter.Filter

    数据导入的时候出现: at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclar ...

  4. javascript 获取元素宽高

    style.width,clientWidth,offsetWidth <!doctype html> <html> <head> <meta charset ...

  5. 判断用户是pc访问还是手机访问

    前天因为手机页面中点击无法链接53客服,就研究了下怎样通过js判断,用户是拿手机(ipad)访问,还是pc端访问, 如果是手机访问的话只需把链接通过attr修改a的链接地址~ <a class= ...

  6. zmud中文版_汉化补丁_汉化文件ZMUD破解

    ZMUD721中文版 http://pan.baidu.com/s/1mixwIoC

  7. SQL Server MYSQL 对外键建立索引的必要性

    背景: 大家知道在定义外键时,都会给出on delete .....   on update .....: 这里指定的就是当主表的列发生变化时,从表的列要用怎么样的变化去迎合.对从表中的外键,建立索引 ...

  8. Mono For Android 实现索引分段器效果

    这两天看了个Demo,自己也动手写了下,觉得效果还不错,分享一下! 主要是利用ListActivity中自带了一个ListView和ListAdapter来实现的,当然也可以在一般的Activity中 ...

  9. VS2008下WinRar源码生成dll和 lib总结

    WinRar官方提供了源码(http://www.rarlab.com/rar_add.htm):如果自己想要修改里面的内容就要重新生成DLL和LIB,我在网上找了很多资料都没有说得很清楚.花一两天的 ...

  10. iOS 倒计时

    // // RootViewController.m // MyTimerDemo // // Created by huluo on 1/21/14. // Copyright (c) 2014 b ...