vue实战使用ajax请求后台数据(小白)

vue实战使用ajax请求后台数据(小白)

前言:前端小白入门到这个阶段,应该会知道我们所做的页面上那些数据,绝大部分都不是静态的数据,而是通过调用后台接口把数据渲染到页面上的效果。ajax可以帮助我们更好的去实现这一点,下面是详解在vue中如何使用它。

vue本身它是不支持直接发送ajax请求的,需要用到axios(一个基于promise的HTTP库,可以用在浏览器和node.js中)这是Axios文档的介绍,详细可查看:https://www.kancloud.cn/yunye/axios/234845

第一步:Axios的安装和引入

1.使用npm安装:

$npm install axios -S 

2.在vue项目公共文件(我这里是main.js文件)中引入:

import axios from "axios";

3.但是呢axios跟很多第三方模块不同的一点是它不能直接使用use方法,而是用下面这种方法:

Vue.prototype.$axios = axios;

4.这样呢在methods里用到的时候直接用this.$axios来调用它:

this.$axios.get(接口地址).then(function(respon){}).catch(function(error){})

  

第二步:axios.get(这次先讲get的实例,下一篇写用axios.post显现登录功能)

1.通过params选项来传递参数的格式是 axios.get(‘url‘,{params:{key:value}}).then() ;

2.本次实例的axios请求后台数据代码:

//右边学员动态
        getbuyer: function () {
          this.$axios.get(this.GLOBAL.host+"/pub/api/v1/web/list_buyer",{
            params:{
              video_id:this.$route.query.video_id
            }
          }).then(res=>{
            var result = res.data;
            if (result.code == 0) {
              this.buyerArr = result.data;
            }
          })
        }

解析:

1)this.GLOBAL.host: 由于一个项目中会有很多次ajax请求,我们可以把域名封装在一个单独的模块中,然后用到的时候直接调用,操作代码如下:

首先:在main.js全局文件中import我们的封装模块global:

import Global from ‘../static/config/global‘

然后:将上面的Global挂载到Vue.prototype:
Vue.prototype.GLOBAL = Global;

其次:host是在global.js模块中封装的域名:
const host = ‘http://api.xdclass.net:8081‘;

最后:在每次axios请求的时候,直接 this.GLOBAL.host+"后台接口地址"这样就可以了

2)params里面是请求接口时的参数,可以一个也可以多个,用“,”隔开;

3)我这个参数写法 this.$route.query.video_id ,意思是获取到当前页面地址栏中url参数名为video_id的参数值;

4).then中就是请求接口成功后要做的事情,res是responce的简写,就是成功后后台给我们返回的对象,数据就在这个对象里面;

5)this.buyerArr 是定义在data中的一个空数组,用来接收后台返回的数据

最后:一个简单的axios请求实例就写完了,在这里给新手们推荐一款软件Postman用来模拟请求后台数据,非常简单易用,也能更好的观察接口数据;下面是我的一个例子

  这个例子就这么多,下次就写post做登录的例子,大家也可以一起来:854讨论656前端的221各种问题和bug,一起学习一起进步;

   版权声明:本文为博主原创文章,未经博主允许不得转载。 https://www.cnblogs.com/nbb-hbb/

原文地址:https://www.cnblogs.com/nbb-hbb/p/9836815.html

时间: 2024-10-14 23:47:21

vue实战使用ajax请求后台数据(小白)的相关文章

ajax 请求后台数据返回异常 及 提示404方法名不存在

1.正常使用 Ajax 调取后台数据时,提示方法名不存在,Ajax前端正常,方法类bean注入正常,方法注解正常.但参数解析时出现异常. @RequestMapping(value="/getProject") @ResponseBody public Map<String,Object> getProject(@RequestBody Map<String, Object> paraMap,HttpServletRequest request){ Map<

MUI框架编写修改密码页面并且ajax请求后台数据拿到接口完成修改密码功能

<html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"> <title>修改密码</title> <li

js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台

setInterval(function(){//ajax 请求后台数据},1000);这个是A页面的定时器然后我在A页面通过其他请求跳转到其他页面之后后台发现A页面的定时器的那个请求仍然在执行为什么会出现这种情况呢?怎么能让我跳转到其他页面之后定时任务不执行呢? yj327243832 | 浏览 1987 次  2014-08-22 17:26 2014-08-23 11:03 最佳答案 个人感觉如果A页面已经跳转到其他页面,那么那个定时器的请求应该不会再被执行,因为A页面在浏览器中应该已经被

ajax请求后台,返回json格式数据,模板!

添加一个用户的时候,需要找出公司下所有的部门,和相应部门下的角色,利用ajax请求,实现联动技术.将返回的json格式数据,添加到select标签下. <script type="text/javascript">        //加载出部门的信息            function loadGroup(){                            $.ajax({                    type:"post",  

ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetException] with root cause

ajax请求json数据异常:nested exception is net.sf.json.JSONException: java.lang.reflect.InvocationTargetException] with root cause 1.异常原因:所请求的json数据中包含java.util.date数据类型,但是在后台并没有将其格式转换 2.解决方法:添加工具类DateJsonValueProcessor import java.text.SimpleDateFormat; imp

浅谈webform开发时前台请求后台数据的方法

说到前台请求后台数据,我们一般都是用到AJAX(异步JavaScript和XML) .AJAX 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,我们可以对网页的某部分进行更新.在这里,主要浅谈一下在.net的webform开发时,前台请求后台的两种方式. 1.使用AjaxPro2.dll  (1)AjaxPro2.dll文件可以去网上下载,下载后引用到项目中. (2)引用到项目之后,在web.config里面的<system.web

用ajax获取后台数据,返回json数据,怎么在前台使用?

用ajax获取后台数据,返回json数据,怎么在前台使用呢? 后台 C# code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == "SearchCustomer")                 {                     int ID;                     if (Int32.TryParse(CustomerID, out ID))                     {    

ajax请求返回数据,模板中的数据处理

/*ajax请求返回数据,模板中的数据处理*/ function QueryGameAsset(){ var new_start_time=$('#new_start_time').val();//开始时间 var new_end_time=$('#new_end_time').val();//结束时间 if(!new_start_time||!new_end_time){ alert("时间不能为空"); return false; } $.ajax({ url:'/Statisti

mvc5 webap2 前台如何使用 ajax 请求后台API

按照正常的写法,总是出现404错误,研究了很久,在这里找到了解决方案:http://buxuxiao.com/article/using-jquery-to-post-frombody-parameters-to-web-api 现在总结一下, 单个参数的情况下: 1.后台参数正确的写法如下: [Route("Services/{controller}/{action}")] [HttpPost] [HttpGet] public string UploadTransportNetwo