我们在做一个项目时前期可能没有后端提供接口模拟数据,那么作为前端就需要自己写json文件模拟数据加载。网上往往参考的都是不全面的,比如get请求没问题但是post请求就报错了。在Vue中只需要vue-resource(也可以使用axios,安装方法和vue-resource一样,具体使用方法可以去axios官网查看,在这里我使用vue的插件vue-resource)和body-parser模块(查看具体使用方法)互相配合就可以实现get、post不同请求类型的数据模拟了。

        1.安装vue-resource插件(Ajax请求)和body-parser模块(mock数据,对post请求的模块):
            npm install vue-resource --save --registry=https://registry.npm.taobao.org --verbose
            npm install body-parser --save --registry=https://registry.npm.taobao.org --verbose
 
        2.安装成功后在main.js引入依赖vue-resource,此时在Vue里就可以用$http进行Ajax请求了,查看具体使用方法。:

        3.在build文件夹的dev-server.js文件进行服务配置,具体如下图所示:
 
        注意:(1).由于我们Vue开启的本地服务是localhost:8080,所以mock数据监控的端口不能是8080,只要不冲突就可以,我这里用的是localhost:8081,所以图中第100行是port+1。
                (2).图中第87行的data.json就是我们的假数据文件,一般放在和index.html同级目录下,若不同级则需要修改路径。
                (3).如果没有用代理访问,第99行的第一个参数直接写接口名字就可以了,但一般我们会用代理访问,所以这里写的是‘/api’,代理设置在下一步骤说明。
 
        4.同时我们需要做一个代理表,这里我用api,访问这个代理就可以获取到数据,在config文件夹的index.js文件进行代理配置,如下图红框所示:

        data.json文件随意写了个,如下图所示:

        此时npm run dev重新开启服务,输入服务地址就可以看到已经成功mock数据:

        6.接着就是在项目中用Ajax请求数据了,我们在之前安装了vue-resource插件并且进行依赖注入,在项目中可以直接进行请求,如下图所示:
        get请求:
 
        在控制台输出的效果如下所示:

        post请求:
 
        在控制台输出的效果如下所示:

        进一步console.log(res.data)输出效果如下所示:

        至此我们已经实现了在Vue项目mock数据模拟后台请求,希望对大家有帮助。
 
 
 
        如需转载请注明出处:http://www.cnblogs.com/zishang91/p/7680569.html,以便有错误可以及时修改,若有错漏不足之处,请见谅并且指点,谢谢!!!

Vue如何mock数据模拟Ajax请求的更多相关文章

  1. Mock拦截ajax请求

    //mock拦截ajax请求 ,生成随机数据Mock.mock('./servlet/UserServlet?method=getUser',{ 'list|1-5':[{ 'username':'@ ...

  2. 微信小程序开发——使用mock数据模拟api请求

    前言: 微信小程序开发中,后端提供了接口设计文档,前端可以先mock数据模拟api请求进行开发调试,而且可以根据需要设计mock文件的格式和内容,这样在后端接口开发完成之前,前端可以最大限度的完成前端 ...

  3. vue使用axios进行ajax请求

    以前都用resource进行ajax请求,现在官方推荐使用axios,所以现在更换插件.这篇文章主要描写如何在项目中引入axios以及简单地使用axios进行ajax请求. 第一步,需要通过npm安装 ...

  4. Vue-admin工作整理(十七):Mock模拟Ajax请求

    思路:使用Mock拦截actions请求,通过 Mock.mock(/\/getUserInfo/, 'post', getUserInfo) 进行拦截标示,然后将内容返回 export const ...

  5. [Vue]使用axios实现ajax请求

    1.定义myAjax export const myAjax=function createHttpClient(ajaxConfig) {   let httpClient = null;   if ...

  6. vue使用resource发送ajax请求

    <script type="text/javascript"> new Vue({ el:'#app', created:function(){ var url=&qu ...

  7. vue使用Axios做ajax请求

    vue2.0之后,就不再对vue-resource更新,而是推荐使用axios 1. 安装 axios $ npm install axios 或 $ bower install axios 2. 在 ...

  8. Vue 中使用Ajax请求

    Vue 项目中常用的 2 个 ajax 库 (一)vue-resource vue 插件, 非官方库,vue1.x 使用广泛 vue-resource 的使用 在线文档   https://githu ...

  9. AJAX请求中出现OPTIONS请求

    背景 有一个前后端分离的VUE项目来发送ajax请求, 查看Nginx日志或使用Chrome Dev Tools查看请求发送情况时, 会看到每次调后台API的请求之前, 都会发送一个OPTIONS请求 ...

随机推荐

  1. 暑期训练狂刷系列——Lightoj 1084 - Winter bfs

    题目连接: http://www.lightoj.com/volume_showproblem.php?problem=1084 题目大意: 有n个点在一条以零为起点的坐标轴上,每个点最多可以移动k, ...

  2. 数据库时间类型是 datetime 类型的处理

    当数据库时间类型是datetime类型时,获取前台时间是要这样处理 ,因为数据库是把时间转换为字符类型来比较的 sb.Append(" and Date <=convert(varch ...

  3. echarts 外观效果修改

    <!DOCTYPE html> <html> <head> <title></title> <link rel="style ...

  4. Windows之shortcut

    System key combinations CTRL+ESC: Open Start menu ALT+TAB: Switch between open programs ALT+F4: Quit ...

  5. Mysql:is not allowed to connect to this MySQL server [转]

    原文链接http://www.blogjava.net/acooly/archive/2008/09/17/229368.html 如果你想连接你的mysql的时候发生这个错误:ERROR 1130: ...

  6. (转)淘淘商城系列——maven工程debug调试

    http://blog.csdn.net/yerenyuan_pku/article/details/72784074 上文我们已经实现了商品列表展示的功能,在实际开发中我们肯定是要经常对maven工 ...

  7. 手机,平板当中浏览和编辑DWG的CAD控件出来啦!支持ARX二次开发

    控件2014.06.30 安卓开发最新更新 发布时间:2014-06-30 22:22:42 开发包下载地址:http://www.mxdraw.com/MxDraw6.0Android(201406 ...

  8. 04Hibernate连接数据库环境配置

    Hibernate连接数据库环境配置

  9. 08C#事件

    C#事件 1.2      事件 事件是C#语言内置的语法,可以定义和处理事件,为使用组件编程提供了良好的基础. 1.16.1       事件驱动 Windows操作系统把用户的动作都看作消息,C# ...

  10. adb 设备命令

    一.adb 设备命令1.查看机型时,可以使用以下命令$ adb shell getprop ro.product.model 2.如果我们忘记具体系统属性的名字$ adb shell getprop ...