开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过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. C#核编之字符串类型介绍与操作

    一.关于字符串操作的方法 System.String类提供了很多工具方法,包括返回字符数据长度,查找当前字符串中的子字符串和转换大小写等方法. 在String类中常用的比较字符串的方法主要有Compa ...

  2. UVA 11925 - Generating Permutations

    题意: 给出一个1到n的排列,给出操作顺序,使升序排列能变为所给排列. 分析: 正常冒泡排序的想法.如果前两个数,前面的大于后面的,则换(特例是n,1不能换).否则,就用2的逆操作,把最后的数放前面. ...

  3. LED大屏发布系统

    开发LED大屏发布系统已经有5.6年里了,可以根据专家.用户的要求进行布置,所有的数据都是通过TCP通讯获得的,所有的显示项目都是通过配置文件进行设置的,所以系统运行效率高.灵活.界面丰富多彩等.

  4. Javascript获取当前时间戳的方法

    定义日期:   Date 对象用于处理日期和时间.   可以通过 new 关键词来定义 Date 对象.以下代码定义了名为 myDate 的 Date 对象:   var myDate=new Dat ...

  5. leetcode算法刷题(五)——动态规划(三)

    今天的题目不是leetcode上面的.只是觉得动态规划还是不算很熟练,就接着找了点DP的题练练 最长递增子序列的长度 题目的意思:传入一个数组,要求出它的最长递增子序列的长度.例如:如在序列1,-1, ...

  6. QT5中QString与char *的相互转换

    以例子说明: #include <QApplication> #include <QDebug> #include <QString> #include <Q ...

  7. SQL Server IO系统问题解决

    方法 1. 查询是不是真的要返回这么多的数据. 方法 2. 查询是不是系统的内存不足. 方法 3. 检查查询要访问的数据是不是不常用.如果这个数据不常用,它没有在内存中也就不奇怪了. 方法 4. 是不 ...

  8. Python学习之编写登陆接口(Day1,作业一)

    作业一:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定(下次登陆还是锁定) 知识点:while循环,for循环,文件操作,if判断,列表操作 思路: 1.登陆,三次登陆失败,锁定 ...

  9. 论山寨手机与Android联姻 【6】MTK手机的基带芯片

    MTK的硬件技术的核心,在于它的基带芯片.为了降低成本,同时缩减手机主板的面积,基带芯片中除了CPU以外,还集成了很多外设控制器.Feature Phone的功能,基本上取决于基带芯片所支持的外设功能 ...

  10. Developer‘s提升开发效率的工具和插件或编程语言

    1.Git 之前也有过不少版本控制的工具.有好的,也有糟糕的.不过它们都或多或少地误入歧途了. 这时候Git出现了.一旦你用上了这个神奇的工具,很难相像你还会碰到比它更好的了. 还没用过Git?试一下 ...