axiox

作者: 小蝎子tt | 来源:发表于2019-05-27 10:02 被阅读0次

    1、axios:

    https://github.com/axios/axios

    https://www.npmjs.com/package/axios

    跨域:jsonp,

    之前vue使用的对应内容:vue-resourse

    2、新建项目news:

    在之前安装好(webpack、webpack-cli、vue、vue-cli的目录)

    vue init  webpack  news

    (安装时不选test相关内容,暂不建议安装es-lint,避免新建项目失败)

    npm run dev启动,

    http://localhost:8080/#/

    查看是否启动成功。

    3、安装axios

    在新建的项目目录news中,

    npm install axios -D

    (跨域需要安装代理中间件)

    npm install -S  http-proxy-middleware

    4、配置跨域

    config/index.js

        proxyTable: {

        "/api":{

                target: 'http://api.komavideo.com/news/list',

                changeOrigin: true,

                pathRewrite: {

                    '^/api': '/'

                }

            } 

        },

    5、在vue项目中使用axios

    src/main.js中引入axios:

    import axios from 'axios' // 在这里引入axios

    Vue.prototype.$axios = axios;  // 在vue中使用axios,全局

    6、在vue中远程获得跨域数据,并进行操作和展示。

    Helloworld.vue中:

    <button @click='getnews'>获得首页新闻</button>

      getnews(){

          var url = '/api'; // 这里就是刚才的config/index.js中的/api

          //下面是全局axios的调用方式,如果是本地导入axios,直接用导入的名称即可

                      this.$axios.get(url)

                      .then(response=>{

                          console.log(response)

                            this.msg=response.data;                     

                        })

                        .catch(error=>{

                            console.log(error);

                        })

      }

    npm run build

    npm start

    http://localhost:8080/,

    npm install axios -D

    npm install -S http-proxy-middleware

    src/main.js中引入axios:

    import axios from 'axios' // 在这里引入axios

    Vue.prototype.$axios = axios;  // 在vue中使用axios

    config/index.js

        proxyTable: {

        "/api":{

                target: 'http://api.komavideo.com/news/list',

                changeOrigin: true,

                pathRewrite: {

                    '^/api': '/'

                }

            } 

        },

    var url = '/api'; // 这里就是刚才的config/index.js中的/api

                        this.$axios.get(url)

                            .then(function(response) {

                                console.log(response);

                            })

                            .catch(function(error) {

                                console.log(error);

                            });

    API-URL

        http://api.komavideo.com/news/list

    参数说明

        pageSize

        每页取出的数据条数,默认:5条,最大20条

        pageIndex

        取出的页面索引,即第几页,从0开始去得,默认:0(第一页)

        export default {

      name: 'yuan',

      data () {

        return {

          msg: []

        }},

        methods:{ yuanjsonp(){

        var url = '/api'; // 这里就是刚才的config/index.js中的/api

                      this.$axios.get(url)

                        .then(response=>{

                            this.msg=response.data;

                        })

                        .catch(error=>{

                            console.log(error);

                        })

        },

        postlist(){

        var url = '/api';

        this.$axios.post(url, {

          pageSize: 12,

          pageIndex: 1}).then(response=>{

        this.msg=response.data;

      }).catch(error=>{

                            console.log(error);

                        })

        }}

      }

        https://github.com/vuejs/vue-touch/tree/next

    cnpm install vue-touch@next

        1

    var VueTouch = require('vue-touch')

    Vue.use(VueTouch, {name: 'v-touch'})

        1

        2

    //左划      默认渲染为div  data为参数

    <v-touch v-on:swipeleft="onSwipeLeft(data)">Swipe me!</v-touch>

    //点击  渲染为一个a标签

    <v-touch tag="a" v-on:tap="onTap">Tap me!</v-touch>

    //点击  渲染为p标签

    <v-touch tag="p" v-on:tap="onTap">Tap me!</v-touch>

    相关文章

      网友评论

          本文标题:axiox

          本文链接:https://www.haomeiwen.com/subject/jpdctctx.html