发送ajax请求

2018-09-14  本文已影响8人  潇潇翔子

发送ajax请求

vue本身不支持发送ajax请求,需要使用vue-resourc axios等插件实现,建议使用axios

axios是一个基于promise的http请求客户端,用来发送请求

基本用法:

axios.get(url[,options]); 传参方式,url或者params传参

axios.post(url,data,[options]);

注意:axios默认发送数据时,数据格式是request payload,并非我们床用的form data格式,所以参数必须要以键值对像是传递,不能以json形式传参

传参的方式: 自己拼接键值对,使用transformrequst 在请求发送前将请求数据进行转换,或者使用qs模块进行转换

axios不支持跨域请求,可以使用vue-resource 发送跨域请求。

跨域发送请求:this.$http.get(url,[options]); this.$http.post(url,[options]);

refs获取组件或元素

说明:vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素)
使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取
注意:如果获取的是一个子组件,那么通过ref就能获取到子组件中的data和methods

添加ref属性

<div id="app">
    <h1 ref="h1Ele">这是H1</h1>
    <hello ref="ho"></hello>

    <button @click="getref">获取H1元素</button>
  </div>

获取注册过 ref 的所有组件或元素

methods: {
        getref() {
          // 表示从 $refs对象 中, 获取 ref 属性值为: h1ele DOM元素或组件
           console.log(this.$refs.h1Ele.innerText);
           this.$refs.h1ele.style.color = 'red';// 修改html样式

          console.log(this.$refs.ho.msg);// 获取组件数据
          console.log(this.$refs.ho.test);// 获取组件的方法
        }
      }
上一篇 下一篇

猜你喜欢

热点阅读