Vue+Koa2移动电商实战 (十一)前后端通讯和跨域处理

摘要:
我们今天学到的是前端和后端之间的通信以及跨域处理。首先,将koa bodyparser中间件安装到我们的项目中,以便我们的后端可以接收前端npminstall--savekoa bodyparser发送的请求,然后将其安装在服务/索引中。Js引入constbodyParser=require('koa bodysarser')//应用程序。安装了用于接收post请求的use(bodyParser())

今天学习的是前后端的通讯和后端跨域的处理

首先安装koa-bodyparser中间件到我们项目中来,以便我们后端接收前端发送过来的请求

npm install --save koa-bodyparser

安装完成后在service/index.js中引入

const bodyParser = require('koa-bodyparser')  // 用于接收post请求的
 app.use(bodyParser())

安装完成后我们就开始在我们前端axios的引入

import axios from 'axios'

引入之后我们修改 serviceAPI.config.js 接口文件,设置下接口文件,添加我们的注册接口地址

const LOCALURL = "http://localhost:3000/"
const URL = {
    getShoppingMaillInfo:BASEURL,// 商城首页信息
    getGoodsInfo:BASEURL+'getGoodsInfo',
    registerUser : LOCALURL+'user/register',  //用户注册接口
}

module.exports = URL

然后再register.vue文件里面引入

 import url from '@/serviceAPI.config.js'

现在我们就开始写用户注册的方法了 src/components/pages/Register.vue 文件下,在methods属性里面写入

    methods: {
      goBack() {
        this.$router.go(-1); //点击返回上一级
      },
      axiosRegisterUser() {
        axios({
            url: url.registerUser, //这里的url便是我们上面引入的
            method: 'post',  //请求方式使用post  因为是表单输入
            data: {
              username: this.username, 
              password: this.password
            }
          })
          .then(response => { // 完成后我们给他一个反馈信息  后面我们再进行完善
            console.log(response)
          })
          .catch((error) => {
            console.log(error)
          })
      }

把我们的   axiosRegisterUser()方法绑定到按钮上

 <van-button type="primary" size="large" @click="axiosRegisterUser()">马上注册</van-button>

完成我们的请后发现并不能顺利的完成注册,那是因为我们还没有进行跨域的处理

我们需要安装下koa2给我们的跨域处理的中间件  koa2-cors

npm install --save koa2-cors   

安装完成后我们需要再index.js里面进行引入和使用中间件

const cors = require('koa2-cors') //跨域使用

  app.use(cors())
 

万事俱备,现在我们写一个后台的数据接口方法,就可以完成我们的数据接收并传回数据了

进入service/appApi/user.js

router.post('/register',async(ctx)=>{  //请求操作需要使用post
    
    ctx.body= ctx.request.body  //  ctx.request.body  把前端传过来的数据封装成为一个对象
console.log(ctx.request.body)
})

到这一步我们的前后端数据通讯就算完成了,下面是我们完成后的截图

Vue+Koa2移动电商实战 (十一)前后端通讯和跨域处理第1张

免责声明:文章转载自《Vue+Koa2移动电商实战 (十一)前后端通讯和跨域处理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HQL中左连接,右连接,内连接squid反向代理基本概述及性能事项下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Fiddler抓包6-get请求(url详解)

前言 上一篇介绍了Composer的功能,可以模拟get和post请求,get请求有些是不带参数的,这种比较容易,直接放到url地址栏就行。有些get请求会带有参数,本篇详细介绍url地址格式。 一、url详解 1.url就是我们平常打开百度在地址栏输入的:https:www.baidu.com,如下图,这个是最简单的url地址,打开的是百度的主页 2...

解决URL中文乱码问题--对中文进行加密、解密处理

解决URL中文乱码问题--对中文进行加密、解密处理情景:在资源调度中,首先用户需要选择工作目标,然后跟据选择的工作目标不同而选择不同的账号和代理ip。处理过程如下:点击选择账号,在js中获取工作目标对工作目标进行两次编码(encodeURI(encodeURI(gzmb))),在后台,对工作目标进行解码,然后构建URL。       如下: 1 Strin...

uni-app v-bind绑定属性

mustache表达式不能在标签中使用,那么标签中想要动态绑定变量怎么办? 使用v-bind 比如: data() { return { url:"../HelloWord/HelloWord", } }, 页面上...

python爬虫学习---爬取微软必应翻译(中英互译)

  前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。作者:OSinooO        本人属于python新手,刚学习的 python爬虫基础迫不及待地想试一试,看了论坛里大佬们写的在线翻译爬虫程序,想着自己把它写出来,以下是我爬微软翻译的过程,作为笔记记录下来: 1.获取信...

pyqt5 + pyinstaller 制作爬虫小程序

环境:mac python3.7 pyqt5 pyinstaller ps: 主要是熟悉pyqt5, 加入了单选框 输入框 文本框 文件夹选择框及日历下拉框 效果图: pyqt5 主程序文件  # -*- coding: utf-8 -*- # @Author: Mehaei # @Date: 2019-07-10 13:02:56 # @Last...

PHP实现定时任务的几种方法

一、 简单直接不顾后果型 ignore_user_abort(); // 关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 ini_set('memory_limit','512M'); // 设置内存限制 $interval=60*30; // 每隔半小时...