Vue项目中使用axios获取网页数据问题

Vue项目中使用axios获取网页数据问题,第1张

现在我们通过webpack+vue-cli搭建起了一个vue项目的框架,如果我们需要在vue组件中使用axios向后台获取数据应该怎么办呢?

通常情况下,我们搭建好的项目目录应该是这样子的

首先需要安装axios,这个会npm的都知道

下一步,在mainjs中引入axios

import axios from "axios";

与很多第三方模块不同的是,axios不能使用use方法,转而应该进行如下 *** 作

Vueprototype$axios = axios;

接着,我们就可以在Appvue中使用axios了

created:function(){ this$axiosget("/seller",{"id":123})then(res=>{ consolelog(resdata); }); }

java和js是不同的语言,两者的数组是不一样的,不能直接赋值,但字符串是不同语言之间通用的。

所以可以先把二维数组转换成字符串,然后使用隐藏域 name和后台定义的变量名一致,在后台执行jsp的时候会赋值到这个隐藏域,js中使用documentgetElementById来取值

或者用el ${}来取,但是这种取法一定不能写在外部js文件中,只能写在jsp中

既然说没有真正获取到值,那我就试着说使用数组的push函数插入数据。所以在回调函数之前先定义一个变量,用来接收后端传递回来的数据。然后再把这个变量添加到数组里面,结果这样数组真的能获取到了值了,数据成功在页面渲染了。

js接收数据修改后的代码:

虽然具体不清楚bug的原因,但还算是解决了,希望也能帮到你!

查看JSON数据格式

获取到的JSON是对象中包含数组

返回查看发请求的代码

这是改之前的错误代码

mounted() {

thisaxiosget(`/ajax/cinemaList`)then(

response => {

// consolelog(responsedata)

var cinemas = responsedata

// consolelog(cinemas)

if (cinemas) {

thiscinemas = responsedata // 此处的thiscinemas是一个对象!!

thisisLoading = false

}

consolelog(thiscinemas)

}

)

}

修改后

mounted() {

thisaxiosget(`/ajax/cinemaList`)then(

response => {

// consolelog(responsedata);

var cinemas = responsedata

// consolelog(cinemas)

if (cinemas) {

thiscinemas = responsedatacinemas // 修改后

thisisLoading = false

consolelog(thiscinemas)

好了,解决了,大家不要像我一样这么傻啊。。。

都是。axiosget请求方式,传递给后台的参数都是字符串下形式,无法传递json对象或数组对象等。数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。

整个的流程是在组件的created中提交dispatch,然后通过action调用一个封装好的axios然后再触发mutation来提交状态改变state中的数据,然后在组件的计算属性中获取state的数据并渲染在页面上

以上就是关于Vue项目中使用axios获取网页数据问题全部的内容,包括:Vue项目中使用axios获取网页数据问题、js中如何获取后台传来的二维数组、axios为什么不能将流式数据动态的展示在页面上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9629601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存