精华内容
下载资源
问答
  • 本篇文章主要介绍了详解vue后端数据交互(ajax):vue-resource,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 今天小编就为大家分享一篇vuejs前后端数据交互之从后端请求数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Vue请求后端接口导出excel表格

    千次阅读 2021-03-16 22:55:48
    项目中遇到一个需求,用户下载文件,会从后端那里请求接口获得数据并下载导出excel表格 后端小哥给我返回的是二进制数据流,需要前端自己去处理这些数据 如下图,请求接口返回的数据都是乱码 这里我们可以在axios的...

    项目中遇到一个需求,用户下载文件,会从后端那里请求接口获得数据并下载导出excel表格

    后端小哥给我返回的是二进制数据流,需要前端自己去处理这些数据

    如下图,请求接口返回的数据都是乱码
    在这里插入图片描述
    这里我们可以在axios的请求里添加,这样返回的二进制数据就会被读取为Blob的数据,

    responseType: ‘blob’

    fetchGet1(url, params) {
        return axios({
          url,
          method: 'get',
          params,
          header: {
            headers: { 'Content-Type': 'application/x-download' }
          },
          responseType: 'blob'	//指明返回格式
        })
      }
    
    //下载接口
    export var downLoadOrder = (orderId) => ajax.fetchGet1(`/api/order/excel/${orderId}`)
    

    在这里插入图片描述
    当我点击下载订单的按钮后,浏览器就自动弹出下载excel文件一栏了,要注意的是,我的电脑好像没有xlsx格式的文件,所以在定义文件名那里改成了xls的格式

    在这里插入图片描述

    展开全文
  • { debugger console.log("后端获取到的数据",data) }) } }, beforeDestroy() { clearInterval(this.timer); } Mounted函数: 模板编译完成,数据挂载完毕 即:此时已经把数据挂载到了页面上,所以,页面上能够看到...
     	mounted:function(){
          this.timer = setInterval(this.autoPrintBtnClicked, 60100);//60秒后运行 autoPrintBtnClicked方法
        },
        methods:{
          autoPrintBtnClicked() {
            console.log("定时器进来了......")
            return this.api({
              url: "/pickGuidance/autoPlaySingle",
              method: "post",
              data: ""
            }).then(data => {
              debugger
              console.log("后端获取到的数据",data)
            })
          }
        },
        beforeDestroy() {
          clearInterval(this.timer);
        }
    

    Mounted函数:

    模板编译完成,数据挂载完毕

    即:此时已经把数据挂载到了页面上,所以,页面上能够看到正确的数据了。我们在创建定时器对象

    一般来说,我们在此处发送异步请求(ajax,fetch,axios等),获取服务器上的数据,显示在DOM里。

    beforeDestroy函数:

    vue(组件)对象销毁之前,需要把定时器对象销毁

    setInterval()方法

    第一个参数调用methods的方法名称,第二个参数是多少毫秒后调用该方法

    展开全文
  • vue中怎么请求后端数据?下面本篇文章给大家介绍一下vue 请求后台数据。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。vue 请求后台数据需要引用vue-resource安装请参考...

    vue中怎么请求后端数据?下面本篇文章给大家介绍一下vue 请求后台数据。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    vue 请求后台数据

    需要引用vue-resource

    安装请参考https://github.com/pagekit/vue-resource官方文档

    在入口函数中加入import VueResource from 'vue-resource'

    Vue.use(VueResource);

    在package.json文件中加入"dependencies": {

    "vue": "^2.2.6",

    "vue-resource":"^1.2.1"

    },

    请求如下mounted: function () {

    // GET /someUrl

    this.$http.get('http://localhost:8088/test').then(response => {

    console.log(response.data);

    // get body data

    // this.someData = response.body;

    }, response => {

    console.log("error");

    });

    },

    注意

    1.在请求接口数据时,涉及到跨域请求

    出现下面错误:XMLHttpRequest cannot load http://localhost:8088/test. No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8080’ is therefore not allowed access.

    解决办法:在接口中设置response.setHeader("Access-Control-Allow-Origin", "*");

    2.使用jsonp请求

    但是出现如下错误Uncaught SyntaxError: Unexpected token

    查看请求,数据已返回,未解决.

    提交表单

    姓名:

    v-model="user.username">

    密码:

    v-model="user.password">

    value="提交">

    methods: {

    submit: function() {

    var formData = JSON.stringify(this.user); // 这里才是你的表单数据

    this.$http.post('http://localhost:8088/post', formData).then((response) => {

    // success callback

    console.log(response.data);

    }, (response) => {

    console.log("error");

    // error callback

    });

    }

    },

    提交restful接口出现跨域请求的问题

    查阅资料得知,

    当contentType设置为三个常用的格式以外的格式,如“application/json”时,会先发送一个试探的OPTIONS类型的请求给服务端。在这时,单纯的在业务接口response添加Access-Control-Allow-Origin 由于还没有走到所以不会起作用。

    解决方案:

    在服务端增加一个拦截器

    用于处理所有请求并加上允许跨域的头public class CommonInterceptor implements HandlerInterceptor {

    private List excludedUrls;

    public List getExcludedUrls() {

    return excludedUrls;

    }

    public void setExcludedUrls(List excludedUrls) {

    this.excludedUrls = excludedUrls;

    }

    /**

    *

    * 在业务处理器处理请求之前被调用 如果返回false

    * 从当前的拦截器往回执行所有拦截器的afterCompletion(),

    * 再退出拦截器链, 如果返回true 执行下一个拦截器,

    * 直到所有的拦截器都执行完毕 再执行被拦截的Controller

    * 然后进入拦截器链,

    * 从最后一个拦截器往回执行所有的postHandle()

    * 接着再从最后一个拦截器往回执行所有的afterCompletion()

    *

    * @param request

    *

    * @param response

    */

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,

    Object handler) throws Exception {

    response.setHeader("Access-Control-Allow-Origin", "*");

    response.setHeader("Access-Control-Allow-Methods", "*");

    response.setHeader("Access-Control-Max-Age", "3600");

    response.setHeader("Access-Control-Allow-Headers",

    "Origin, X-Requested-With, Content-Type, Accept");

    return true;

    }

    // 在业务处理器处理请求执行完成后,生成视图之前执行的动作

    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,

    ModelAndView modelAndView) throws Exception {

    }

    /**

    *

    * 在DispatcherServlet完全处理完请求后被调用

    * 当有拦截器抛出异常时,

    * 会从当前拦截器往回执行所有的拦截器的afterCompletion()

    *

    * @param request

    *

    * @param response

    *

    * @param handler

    *

    */

    public void afterCompletion(HttpServletRequest request, HttpServletResponse response,

    Object handler, Exception ex) throws Exception {

    }

    }

    spring resultful无法像在jsp提交表单一样处理数据必须加上@RequestBody,可以直接json转换object,但是对与没有bean的表单数据,建议转换为map对象,类似@RequestBody Map

    更多web前端知识,请查阅 HTML中文网 !!

    展开全文
  • vue 获取后端数据

    千次阅读 2018-03-18 16:01:00
    1、vue-resource从后端请求我们...模拟后端数据,启动测试服务器 注意哦:最新的(我用的3.6)webpack 的build目录下删除了dev-server.js , 在webpack.dev.conf.js这个文件中编辑。 圈1//webpack.dev.conf.js ...

    1、vue-resource从后端请求我们需要的数据

    下载安装npm install vue-resource

    装完之后重新启动项目

     

    模拟后端数据,启动测试服务器 

    注意哦:最新的(我用的3.6)webpack 的build目录下删除了dev-server.js ,

    webpack.dev.conf.js这个文件中编辑。

     

    圈1//webpack.dev.conf.js

    //第一种模拟服务器json-server

    //json-server 模拟后端数据,启动测试服务器 只能get 获取数据

    //安装npm install json-server

    const jsonServer = require('json-server')
    const apiServer = jsonServer.create()
    const apiRouter = jsonServer.router('db.json')
    const middlewares = jsonServer.defaults()

     

    apiServer.use(middlewares)
    apiServer.use('/api',apiRouter)
    apiServer.listen(8001, () => {
    console.log('JSON Server is running')
    })
    //end json-server

     

    //第二种模拟服务器 不需要安装,get post 都支持    (推荐)

    var express = require('express')


    var apiServer = express()
    var bodyParser=require('body-parser')
    apiServer.use(bodyParser.urlencoded({extended:true}))
    apiServer.use(bodyParser.json())
    var apiRouter = express.Router()
    var fs = require('fs') //node自带的fs
    apiRouter.route('/:apiName') //指的是/api 下一级的路由路径名字
    .all(function (req, res) { //all只得是get post都支持
    fs.readFile('./db.json', 'utf8', function (err, data) {
    if (err) throw err
    var data = JSON.parse(data)
    if (data[req.params.apiName]) {
    res.json(data[req.params.apiName])  
    }
    else {
    res.send('no such api name')
    }

    })
    })
    apiServer.use('/api', apiRouter);
    apiServer.listen(8001, function (err) {
    if (err) {
    console.log(err)
    return
    }
    console.log('Listening at http://localhost:' + 8001 + '\n')
    })

    //end测试服务器

    圈2//在config 文件夹下的index.js 里面找到dev

    //添加代理服务器

    proxyTable: { // 服务器端代理
    '/api/':'http://localhost:8001/' //就是访问8000端口下的/api路由的时候,其实是访问的代理端口8001
    }

     同时build > webpack.dev.conf.js >由 apiServer.use(apiRouter) > 改为 apiServer.use('/api',apiRouter)

    快看!!接收到了请求代理服务器的数据  哈哈哈好开心

     

     

    可以把后台模拟数据写在devServer中

    圈3//在webpack.dev.conf.js找到devServer

    before(app) {

      app.get('/api/someApi', (req, res) => {
        res.json({ // 这里是你的json内容 })  }) }

     

    圈4 箭头函数里面的this 是代码环境下的 this 而不是执行环境下的 this

     

     

    转载于:https://www.cnblogs.com/Home-Yzz/p/8595785.html

    展开全文
  • Vue添加请求后端数据接口拦截器

    千次阅读 2020-04-08 14:00:49
    我们在请求后端接口的时候会遇到授权问题,就是后端接口需要一个认证,这个认证会在每个接口里返回,同时请求是也要携带,这个时候vue 里的拦截器就很好的做了这一点,统一处理错误及配置请求信息; 处理方案: 1、...
  • 本篇文章主要介绍了vue 请求后台数据的实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧、
  • 项目中有一个导出功能的实现,用博客来记录一下。...虽然vue里有封装好的请求接口的方法,但这里要单独用axios,所以先在util.js里引入axios import axios from ‘axios’ // 导出Excel公用方法 export fun
  • let url =process.env.VUE_APP_BASE_API +"jiekou="?appId=1001001+"&token="+getCookie("token") +"&paramsObject="+paramsObject; window.open(url, "_blank"); paramsObject是参数对象{} 第二种...
  • 1.Vue结构App.vue首页课程微职位深科技exportdefault{name:'App'}#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;color: #2c3e50;}这里进行利路由设置,那么需要在index中进行挂载import Vue from 'vue...
  • vue处理后端数据

    2021-08-05 19:58:02
    方法一:如果后端是已类的方式传递给前端数据,...方法二:vue请求后端返回的数据res[object object] 使用JSON.stringify()和JSON.parse()转化 返回的数据显示res[object object]是不可读状态的解决办法: ...
  • 在用vue做前端开发的时候,因为一般跑vue使用的webpack自带的node服务,而我们实际要使用的数据确是后台服务器上的,所以这就涉及到服务器请求跨域的问题。本来在诸如axios之类的网络请求参数里面配置 ...
  • vue使用axios异步请求后端数据的使用

    千次阅读 2017-09-21 08:33:06
    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新维护 vue-...axios 来完成 ajax 请求。 使用方法: 1.安装 npm install axios --save-dev 2.使用: main.js中:
  • vue项目使用axios请求后端数据

    千次阅读 2019-04-02 21:23:33
    在项目中使用到的向后端请求和提交数据的方式,axios请求; 在使用axios时,需要先安装axios npm install axios 安装完成后在main.js中引入 import axios from 'axios' //为了使用方便在定义为全局方法 vue....
  • vue 请求后台数据的三种方式

    千次阅读 2020-11-05 15:28:52
    本文主要介绍了在 vue 中,如何向后台如何发送请求获取数据的三种方法 一、Ajax 1.什么是Ajax Ajax即“Asynchronous Javascript And XML”(异步JavaScript 和XML),是一种异步无刷新技术。 2.使用 $ajax 来发送请求
  • 返回的数据显示res[object object]是不可读状态的解决办法: 我们应该把对象转为JSON形式显示出来,所以需要使用 JSON.stringify(res) 简单解释以下JSON.stringfy()和JSON.parse()方法的作用: JSON.stringfy():...
  • 一,vue-resource请求数据 介绍:vue-resource请求数据方式是官方提供的一个插件 使用步骤: 1、安装vue-resource模块 cnpm install vue-resource --save 加–save是为了在package.json中引用,表示在生产环境中...
  • 一、创建一个新的vue项目 安装node环境(推荐:Vue环境搭建+VSCode+Win10) 终端执行命令(创建一个新的项目): vue init webpack ”项目名称“ cnpm install 打包项目 cnpm run dev 启动项目 初始项目已经建好啦… ...
  • vue请求后台数据真实接口 真实案例 前端请求 html 模块 js模块 store文件内容 封装请求数据的接口总结 一、配置url(可以放在一个js中) 引入axios:import axios from “axios” 配置url const service=...
  • vue请求后台数据的几种方式

    千次阅读 2019-11-28 10:30:59
    常用的为:vue-resource、axios、fetch-jsonp 1、vue-resource官方提供的 vue的一个插件 export default{ data(){ return { msg:'我是一个首页组件msg', flag:true, ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,680
精华内容 15,872
关键字:

vue请求后端数据

vue 订阅