六、Vue.js

一、发送AJAX请求

1.简介

    vue 本身不支持发送AJAX请求,需要使用vue-resource,axios 等插件实现,axios是一个基于Prcmisce的HTTP请求客户端,用来发送请求,也是vue2.0官方推荐使用。同时不再对vue-resource进行更新和维护。
    参考:GitHub上搜索axios ,查看API文档

2,使用axios发送ajax请求

2.1安装axios并引入

    nmp install axios -S
    也可以直接下载axios.min.js文件

2.1基本用法

      axios([options])
      axios.get(url,options);
          传参的方式:
                1、通过url来传参数
                 2、通过params传参
      axios.post(url,data,[options])
                axios默认发送数据时,数据格式是Request Payload,并非我们常用的From Data 格式,所以参数必须要以键值对形式传递,不能以json的方式去传参
                传参方法:
                      1. 自己拼接键值对。
                       2. 使用transformRequest,在请求发送前将请求数据进行转换
                       3.如果使用模块化开发,可以使用qs querystring
    axios本身并不支持发送跨域的请求,没有提供相应的API,所以只能使用第三方的库。

3.使用vue-rescoure 发送跨域请求

3.1 安装vue-resource并引入

    npm install vue-resource -save

3.2 基本用法

       使用this.$http发送请求
        get(url, [options])
        head(url, [options])
        delete(url, [options])
        jsonp(url, [options])
        post(url, [body], [options])
        put(url, [body], [options])
        patch(url, [body], [options])

        <!DOCTYPE html>
        <html lang="en">
        <head>
    <meta charset="UTF-8">
      <title>Document</title>
      <script type="text/javascript" src="js/vue.min.js"></script>
    <script type="text/javascript" src="js/axios.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/vue-resource@1.3.5">                    </script>

<script type="text/javascript">
window.onload = function(){
    new Vue({
        el:'#itany',
        data:{
            user:{

            },
            uid:''
        },
        methods:{
            sendJSONP(){
                
                this.$http.jsonp("https://sug.so.360.cn/suggest",{
                    params:{
                        word:'a'
                    }
                }).then(resp => {
                    console.log(resp.data.s);
                })
            },
            sendJSONP_one(){
                this.$http.jsonp("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",{
                    params:{
                        wd:'a'
                    },
                    jsonp:"cb"//百度使用的jsop参数名为cb,所以需要修改
                }).then(resp => {
                    console.log(resp.data);
                })
            }
        }
    })
}
</script>
  </head>
  <body>
<div id="itany">
    <button @click="sendJSONP">360发送JSONP请求</button>
    <button @click="sendJSONP_one">百度发送JSONP请求                </button>
</div>

</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容...
    忘川慕白阅读 5,973评论 7 113
  • ———陈佳米 记得前几天,和一个朋友通电话,他突然来了一句:“我现在真的很替你高兴,我能看到你坚持更新你的公众号,...
    yomi陈佳米阅读 588评论 6 5
  • 也许世界就是这样,当你认真付出,可是似乎只有你自己这样想,认为你的真心是假的,想出各种各样的办法,伤害你...
    伪装风阅读 200评论 0 1
  • 老弟打电话给奶奶,说腊月十三那天不能回家杀猪了,厂里还要加班。奶奶淡定地说,没事,到时候你姐回来了,让她杀吧! 听...
    树海云天阅读 371评论 4 5