uniapp中安装axios并解决跨域问题小结

 更新时间:2024年05月16日 14:22:34   作者:娃哈哈哈哈呀  
跨域(Cross-Origin)是指在浏览器中,当前网页的协议、域名或端口与请求目标的协议、域名或端口不相同,即存在跨域请求的情况,这篇文章主要介绍了uniapp中安装axios并解决跨域问题小结,需要的朋友可以参考下

1、安装axios

npm install axios

2、导入 

在main.js中导入使用

import axios from 'axios';
// 创建一个名为 $axios 的全局变量
Vue.prototype.$axios = axios

3、使用(发请求)

<template>
  <view class="container">
    <view class="form">
      <view class="form-item">
        <text class="label">用户名:</text>
        <input type="text" v-model="userId" class="input" placeholder="请输入用户名">
      </view>
      <view class="form-item">
        <text class="label">密码:</text>
        <input type="password" v-model="password" class="input" placeholder="请输入密码">
      </view>
      <view class="form-item">
        <button @click="login" class="button">登录</button>
      </view>
      <view v-if="error" class="error">{{ error }}</view>
    </view>
  </view>
</template>
<script>
export default {
  data() {
    return {
      userId: '',
      password: '',
      error: ''
    };
  },
  methods: {
    login() {
      // 发送登录请求
      this.$axios({
        method: "post",
        url: "http://localhost:8080/api/user/login",
        data: {
          userId: this.userId,
          password: this.password,
        },
      })
      .then((res) => {
        console.log(res);
        if (res.data.code == "200") {
          // 登录成功,显示成功提示信息
          this.$message({
            message: res.data.message,
            type: "success",
          });
          // 跳转到后台主页 (编程式导航)
          this.$router.push("/pages/index/index");
        }
      });
    }
  }
}
</script>

4.解决跨域问题 

如下图显示就是跨域问题

1.为什么要解决跨域问题?

 跨域(Cross-Origin)是指在浏览器中,当前网页的协议、域名或端口与请求目标的协议、域名或端口不相同,即存在跨域请求的情况。

2.前端如何解决跨域问题?

在项目根目录下创建vue.config.js文件并增加以下内容:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:9090',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
};

这段代码是一个 webpack 配置文件,通常用于 Vue.js 项目。它的作用是配置开发服务器的代理,用于将请求转发到指定的目标服务器。

具体解释如下:

  • module.exports: 这是 Node.js 中用于导出模块的语法,表明这是一个模块的导出。
  • devServer: 这是 webpack-dev-server 的配置项,用于配置开发服务器。
  • proxy: 这是开发服务器的代理配置,用于将某些请求代理到另一个服务器。
  • '/api': 表示需要被代理的路径前缀。即,当请求路径以 '/api' 开头时,将会被代理。
  • target: 'http://localhost:9090': 这是代理的目标服务器地址,即请求将被转发到这个地址。
  • changeOrigin: true: 这是一个布尔值,表示是否改变请求头中的 origin 字段为目标 URL,通常在跨域请求时设置为 true。
  • pathRewrite: {'^/api': ''}: 这是一个对象,用于重写路径。它的作用是将请求路径中的 '/api' 替换为空字符串,即将 '/api' 去掉,这样最终发送到目标服务器的请求路径就不包含 '/api' 了。

综上所述,这段代码的作用是将以 '/api' 开头的请求代理到目标服务器 http://localhost:9090,同时将请求路径中的 '/api' 去掉。

到此这篇关于在uniapp中如何安装axios并解决跨域问题的文章就介绍到这了,更多相关uniapp安装axios内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 通过微信公众平台获取公众号文章的方法示例

    通过微信公众平台获取公众号文章的方法示例

    这篇文章主要介绍了通过微信公众平台获取公众号文章的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 使用Bootstrap打造特色进度条效果

    使用Bootstrap打造特色进度条效果

    这篇文章给大家分享了基于bootstrap打造的特色进度条效果,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05
  • js获取select标签的值且兼容IE与firefox

    js获取select标签的值且兼容IE与firefox

    本篇文章主要介绍了js获取select标签的值且兼容IE与firefox。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 分享一个原生的JavaScript拖动方法

    分享一个原生的JavaScript拖动方法

    本文给大家分享的是基于JavaScript的setCapture方法实现的拖动效果,非常的简单实用,有需要的小伙伴可以参考下
    2016-09-09
  • uni-app实现页面通信EventChannel的操作方法

    uni-app实现页面通信EventChannel的操作方法

    使用了EventBus的方法实现不同页面组件之间的一个通信,在uni-app中,我们也可以使用uni-app API,uni.navigateTo来实现页面间的通信,这篇文章主要介绍了uni-app实现页面通信EventChannel的操作方法,需要的朋友可以参考下
    2024-05-05
  • es6中的解构赋值、扩展运算符和rest参数使用详解

    es6中的解构赋值、扩展运算符和rest参数使用详解

    这篇文章分别给大家介绍了关于es6中解构赋值、扩展运算符和rest参数使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-09-09
  • 浅谈uniapp页面跳转的解决方案

    浅谈uniapp页面跳转的解决方案

    页面跳转是经常需要用到的,本文主要介绍了浅谈uniapp页面跳转的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • js隐藏与显示回到顶部按钮及window.onscroll事件应用

    js隐藏与显示回到顶部按钮及window.onscroll事件应用

    现在大多数网站都会添加这种功能:当滚动条滚动到页面的下方时,页面的右下角会显示出来一个“回到顶部”的按钮或连接;那么,如何控制“回到顶部”按钮的显示或隐藏呢;本文介绍详细实现方法,感兴趣的你可不要走开哦
    2013-01-01
  • Javascript 鼠标移动上去小三角形滑块缓慢跟随效果

    Javascript 鼠标移动上去小三角形滑块缓慢跟随效果

    一个tab选项卡,当鼠标移动上去时红色滑块跟随,在布局过程中经常会使用到,本文提供了详细的实现代码,感兴趣的朋友可以参考下
    2013-04-04
  • JavaScript实现弹出广告功能

    JavaScript实现弹出广告功能

    本文通过实例代码给大家分享javascript实现弹出广告功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-03-03

最新评论