vue-网络应用

vue结合网络数据开发应用

axios+vue结合使用

axios

功能强大的网络请求库

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
axios.get(地址?key=value&key2=value2).then{function(response){},function(err){}}
get请求和post请求
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>axios</title>
</head>
<body>

<!--get post请求-->
<input type="button" value="get请求" class="get"/>
<input type="button" value="post请求" class="post"/>

<!--官网提供的axios在线地址-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

<script>
  /**
   *接口1:随机笑话
   *请求地址: https :/ / autumnfish . cn/ api/ joke/list请求方法:get
   *请求参数:num(笑话条数,数字)
   * 响应内容:随机笑话
   */
  document.querySelector('.get').onclick = function () {
    axios.get("https://autumnfish.cn/api/joke/list?num=3")
      .then(function (response) {
          console.log(response)
        }, function (error) {
          console.log(error)
        }
      )
  }

  /**
   * 接口2 :用户注册
   * 请求地址:https://autumnfish.cn/api/user/reg
   * 请求参数:username(用户名,字符串)
   * 请求方式:post
   * 响应内容:注册成功或失败
   */
  document.querySelector(".post").onclick = function () {
    axios.post("https://autumnfish.cn/api/user/reg", {"username": "lazy"})
      .then(function (response) {
        console.log(response)
      })
  }


</script>
</body>
</html>

axios-vue
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>vue-axios</title>
</head>
<body>

<div id="app">

  <input type="button" value="讲个笑话" @click="getJoke">
  <p>{{joke}}</p>
</div>
<!-- 1. 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!--官网提供的axios在线地址-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

<script>

  /**
   * axios回调函数中的this已经改变,无法访问到data中数据
   * 把this保存起来,回调函数中直接使用保存的this即可
   * 和本地应用的最大区别就是改变了数据来源
   * @type {Vue}
   */
  //挂载视图数据
  var app = new Vue({

    el: "#app",
    data: {
      joke: "笑话源于生活,乐此不疲"
    },
    methods: {
      getJoke: function () {
        //将this暂存起来
        var jok = this
        //编写逻辑
        axios.get("https://autumnfish.cn/api/joke")
          .then(function (response) {
            console.log(response.data)
            jok.joke = response.data
          }, function (error) {
            console.log(error)
          })
      }
    }
  })


</script>
</body>
</html>

注意:

  • axios回调函数中的this已经改变,无法访问到data中数据
  • 把this保存起来,回调函数中直接使用保存的this即可
  • 和本地应用的最大区别就是改变了数据来源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值