电商商城定制开发如何在 vue 中使用 axios ?

Axios 电商商城定制开发是一个基于 promise 的 HTTP 库,电商商城定制开发可以用在浏览器和 node.js 中。

目录


安装

  1.  win+r 电商商城定制开发打开控制台
  2.  cd /项目名
  3.  npm i axios -S

引入

单页面引用

import axios from 'axios'

        从node_modules导入的包不需要加./ ../

全局配置

        在 main.js 里配置:

  1. // 导入axios
  2. import axios from 'axios'
  3. // 默认请求的基础url(如果axios请求的地址不带域名,自动添加baseURL)(默认请求域名,/当前域名)
  4. axios.defaults.baseURL = "/"
  5. // 设置post请求头的content-Type值
  6. axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
  7. // 请求超时5000毫秒
  8. axios.defaults.timeout = 5000;
  9. const app = createApp(App)
  10. //把axios挂载到vue上,并起一个叫$http的名字
  11. app.config.globalProperties.$http = axios
  12. app.use(store).use(router).mount('#app')

代理跨域

        不同协议,不同域名,不同端口以及域名和 ip 地址的访问都会产生跨域。这里我们使用代理的方法。

vue.config.js 里进行配置:

  1. const { defineConfig } = require('@vue/cli-service')
  2. module.exports = defineConfig({
  3. transpileDependencies: true,
  4. devServer:{
  5. proxy:{
  6. // .php 代理标识符(当请求地址包含.php 字符启用代理)
  7. ".php":{
  8. // 本地服务器向 target服务器请求数据
  9. target:"地址",
  10. // 允许跨域
  11. changeOrigin:true,
  12. }
  13. }
  14. }
  15. })

 vue.config.js 文件只要修改就必须重启服务器

使用axios

执行 get 请求

		axios.get(url).then(res=>{}).catch(err=>{})
  • url  请求的地址
  • res  服务器响应的数据
  • err  错误信息

get 请求的三种写法

        get请求有三种写法,分别是:参数字符串形式写法 ? 、参数对象形式写法 params 、直接使用 axios 方法

  •  参数字符串形式写法 
        this.$http.get("地址?key1=value1&key2=value2").then().catch()
  • 参数对象形式写法 params
        this.$http.get("地址",{params:{key:value}}).then().catch()
  • 直接使用axios方法写get请求
  1. this.$http({
  2. url: "地址",
  3. method: "get",
  4. params: {
  5. key: value
  6. }
  7. }).then().catch()

这里的 this.$http 与前文中 app.config.globalProperties.$http = axios 保持一致

执行 post 请求

    axios.post("url",`date`,config).then().catch()
  • url  请求的地址
  • date  请求的数据
  • config  配置

post 请求的两种写法

        在前文全局配置中(axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';)已经配置过 数据格式为url编码 ,所以下文的config可省略不写

  • 第一种
  1. this.$http.post(
  2. "地址",
  3. `key=value&key=${value}`,
  4. { //可省略不写
  5. headers: {
  6. 'Content-Type': 'application/x-www-form-urlencoded'
  7. }
  8. }
  9. )
  • 第二种
  1. this.$http({
  2. url:"地址",
  3. data:`key=value&key=${value}`,
  4. method:'post',
  5. headers:{headers:{'Content-Type':'application/x-www-form-urlencoded'}}
  6. })

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发