vue中ajax请求发送

  • 示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            span.active{
                color:red;
            }
        </style>
    </head>
    
    <body>
    <div id="app">
        <div>
            <span @click="handlerClick(index)" v-for = "(category,index) in categoryList" :key="category.id" :class="{active:index==currentIndex}">
                                                                                    <!--绑定属性-->
                {{ category.name }}
            </span>
    
        </div>
    
    </div>
    
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src='./vue.js'></script>
    <script>
        let vm = new Vue({   // 声明变量  实例化一个对象vm(指的是vue的实例)
            el: "#app",    //绑定根元素
            //数据属性
            data(){  //这里有obsever
                //返回的数据跟后端数据库里的有关,如果是动态的数据,存的是数据结构
                return {categoryList:[],currentIndex:0}
            },
            methods:{
                handlerClick(i){this.currentIndex=i;}
            },
            created(){
                $.ajax({
                    //请求后端数据 ****
                    url:"https://www.luffycity.com/api/v1/course_sub/category/list/",
                    type:"get",
                    // success:function(data){
                    //后端数据渲染回来
                    success:(data)=>{       //data 一般是从后端返回给前端的
                        console.log(data);
    
                        //Object
                            //data:(6) [{…}, {…}, {…}, {…}, {…}, {…}, __ob__: Observer]
                            //error_no:0
                            //proto__:Object
    
                        if (data.error_no === 0){
                            var data=data.data;
                            let obj={
                                id:0,
                                name:"全部",
                                category:"0"
                            }
                            this.categoryList = data;
                            this.categoryList.unshift(obj)
                            //把data赋值给categoryList
                            console.log(this)//拿到的是一个ajax对象,
                            // 所以把上面的匿名函数改成箭头函数
    
                            //改成箭头函数之后得到的是vue对象
                            this.categoryList=data;
                        }
                },
    
                    error:function(err){
                        console.log(err);
                    }
                })
            }
        })
    </script>
    
    </body>
    </html>
    

原文地址:https://www.cnblogs.com/bigox/p/11629994.html

时间: 2024-10-23 23:06:27

vue中ajax请求发送的相关文章

vue 中 ajax请求封装以及使用方法

async/await 1)async/await场景 这是一个用同步的思维来解决异步问题的方案,当前端接口调用需要等到接口返回值以后渲染页面时. 2)名词解释 >async  async的用法,它作为一个关键字放到函数前面,用于表示函数是一个异步函数,因为async就是异步的意思, 异步函数也就意味着该函数的执行不会阻塞后面代码的执行,             async 函数返回的是一个promise 对象. >await await的含义为等待.意思就是代码需要等待await后面的函数运

vue中采用axios发送post请求

这几天在使用vue中axios发送get请求的时候很顺手,但是在发送post请求的时候老是在成功的回调函数里边返回参数不存在,当时就纳闷了,经过查阅资料,终于得到了解决方案,在此做一总结: 首先我们在运用npm install axios的时候就会默认安装qs,因此我们就得将qs引入到axios中,然后需要再通过实例化一个新的axios,并且设置他的消息头为'content-type': 'application/x-www-form-urlencoded' 1 let qs = require

Vue中ajax返回的结果赋值

这是第二次在项目中遇到此问题,ajax请求成功后在success函数中为Vue实例data里的变量赋值,却失败了 new Vue({ el:'#app', data:{ msg:'' }, created:function(){ $.ajax({ url:'', data:'', dataType:'json', success:function(res){ this.msg = res.data; } }) } }) 原因在于在ajax的success函数中,this的指向不再是vue的实例

vue03----生命周期、nextTick()、ref、filter、computed、vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到什么问题、踩过的坑)

### 1.vue的组件和实例都有生命周期,而且是一样的 生命周期:(组件从创建到销毁的过程) 创建 挂载 更新 销毁 组件到达某一个阶段就会自动触发某一些函数,这个函数就叫生命周期的钩子函数. 创建:组件创建的时候触发 beforeCreate created     组件刚创建的数据请求 挂载:创建完成挂载前后触发 beforeMount mounted     DOM的初始化操作 更新:数据发生改变的时候触发 beforeUpdate updated     数据的变化监听,尽量不要在这里

jQuery 中 ajax 请求数据应用的一个小demo

举一个jquery中ajax的应用小 demo 便于以后的更多项目拓展 ,这里要注意的是保存的文件名和文件图片路径问题 ... ajax01.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> ajax小例子 </title> </head> <body> <!--

javascript中Ajax请求的封装代码

/****************************ajax请求 start**************************************/ function ajaxClass(_url, _successCallback, _failureCallback, _urlParameters, _callbackParams, _async, _charset, _timeout, _frequency, _requestTimes, _frame) { /** * AJAX

从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域

大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http://www.cnblogs.com/lvonve/ CSDN:https://blog.csdn.net/lvonve/ 在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目.现在就让我们一起进入 Web 前端学习的冒险之旅吧! 一.Vue发送Aj

vue中数据请求的三种方法

注意请求可能存在跨域问题,需要去配置好 这三种建议使用axios 1.resource Vue 要实现异步加载需要使用到 vue-resource 库. Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求. 先导入一个线上cdn的地址,当然还可以去npm安装,但个人觉得这种方便 <script src="https://cdn.staticfile.org/vue-resource/1.5.1/vue-resource.min.js"></scri

Vue处理ajax请求

Ajax请求 1>解决跨域问题 1.1前端解决.只需要在vue.config.js中增加devServer节点增加代理: const path = require("path"); const resolve = dir => path.join(__dirname, dir); const BASE_URL = process.env.NODE_ENV === 'procution' ? '/iview-admin/' : '/' module.exports = { l