开发过程中,免不了需要前台与后台的交互,大部分的交互都是通过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. 利用maven中resources插件的copy-resources目标进行资源copy和过滤

    maven用可以利用如下配置进行资源过滤,pom.xml的配置如下: <build> <!-- 主资源目录 --> <resources> <resource ...

  2. 详解 CSS 属性 - 伪类和伪元素的区别(再也不用概念盲了!!!)

    首先,阅读 w3c 对两者的定义: CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果 ...

  3. Lucene的多线程访问原则和同步,锁机制

    本文介绍lucene多线程环境下的使用原则和commit.lock与write.lock实现的锁机制. 设计之初就是服务于多线程环境,大多数情况下索引会被不至一个线程访问.索引时一个关键资源.在对这样 ...

  4. C# MVC分页,razor,view传送model

    IMVCPages interface IMVCPages { int GetItemsCount(); int GetPageSize(); int GetPagesCount(); /// < ...

  5. mysql server advanced 5.6基于oracle linux 6.6的安装

    mysql 安装有两种,rpm安装和源码包安装,两种包都可以从www.mysql.com官网下载,这次我测试下rpm安装方式. 1.安装环境以及mysql版本: 1.1vcenter 虚拟机环境 1. ...

  6. JavaScript 对象扩展代码

    JavaScript 扩展代码 更具需要写的几个扩展. 扩展核心自执行函数 Object.extend /** * 对象扩展体 参数是 {属性|方法:属性值|方法体} * 只执行实现 * * 实例对基 ...

  7. JSONObject和JSONArray

    点击下载json工具 点击下载支持jar包 1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 ( ...

  8. linux的NetworkManager服务

    在开启NetworkManager服务的情况下,在终端下敲“service network restart”命令: 正在关闭接口 eth0: 设备状态:3 (断开连接) [确定] 正在关闭接口 eth ...

  9. docker 导入下载模板

    <pre name="code" class="ruby">docker:/root# cat centos-6-x86.tar.gz | dock ...

  10. wchar_t 、UTF-8、UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET

    wchar_t .UTF-8.UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET wchar_t .UTF-8.UTF-16的转换方法