二,vue+flask 前端通过后台接口获取数据

为了能够通过接口从后端获取数据,我们需要安装axios, 通过axios来实现http访问。

npm install axios --save

我们在src/main.js中,引入axios:

import axios from 'axios'

// 指向我们的后台服务
axios.defaults.baseURL = 'http://127.0.0.1:5000'
Vue.prototype.$ajax = axios

将src/app.vue文件修成如下内容:

<template>
  <div id="app"><img alt="Vue logo" src="./assets/logo.png"/>
    <h1>{{datetime}}</h1></div>
</template>
<script>export default {
  name: 'App',
  data () {
    return {datetime: 'eeeeeee'}
  },
  methods: {
    initData () {
      this.$ajax.get('/time', {}).then(res => {
        this.datetime = res.data.time
      })
    }
  },
  mounted () {
    this.initData()
  }
}</script>
<style>
  #app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
  }
</style>

这时候,如果你访问前端页面,会发现也没上没有显示出时间戳,且有报错

 

这是因为跨域访问导致的,我们需要让flask支持跨域访问,我们使用flask-cors来解决这个问题。 安装这个包:

pip install flask-cors

然后将server-book-info/api.py 进行修改:

import time
from flask import Flask
from flask_cors import CORS

app = Flask(__name__)
CORS(app)
@app.route('/time')
def get_current_time():
    return {'time': time.time()}

这是,再次刷新页面,发现时间戳能够正常显示了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值