关键词:
【中文标题】来自嵌套 Axios 请求的 VueJS 数据未在视图中呈现【英文标题】:VueJS data from nested Axios requests not rendering in view 【发布时间】:2019-01-06 06:55:41 【问题描述】:我正在尝试使用 VueJS 和 Axios 在页面上列出来自 API 的一组帖子。我面临的问题是需要通过针对该特定帖子的单独 API 调用来检索一段数据(帖子 url),并且它们在初始 API 调用中提供该数据的 url。我的第一部分工作得很好,但是当值 is 出现在 Vue devtools 中时,我无法在视图中渲染 href。
JS
const vm = new Vue(
el: '#app',
data:
posts: []
,
mounted()
this.getPosts();
,
methods:
getPosts()
axios.get("api_url")
.then((response) =>
this.posts = response.data.posts;
// Get URL for each post from separate API call
this.posts.map(post =>
axios.get(post.details_url+"&output=json")
.then((response) =>
post.official_url = response.data.post.pet_details_url;
).catch( error => console.log(error); );
);
).catch( error => console.log(error); );
);
HTML
<div id="app">
<div v-for="post in posts">
<a :href="post.official_url"> //href won't render
<h2> post.title </h2>
<p> post.text </p>
</a>
</div>
</div>
数据显示在 Vue DevTools 中
【问题讨论】:
添加<div v-for="post in posts" :key="something_unique">
可能会解决您的问题
感谢@TruongDang 的建议,但添加密钥并没有帮助。 ://
看起来很奇怪,我总是使用像 :href= "`/$post.official_url`"
这样的 href 并且它可以工作。确保您的 post.official_url
不为空 :"(
我将其更改为该格式,现在出现了 href,但我得到了 <a href="undefined"></a>
。所以我认为我的问题更多地与我在 JS 中的设置方式有关。
【参考方案1】:
可能是reactive problem。你可以试试Vue.set
getPosts()
let vm = this
axios.get("api_url")
.then((response) =>
this.posts = response.data.posts;
// Get URL for each post from separate API call
this.posts.map((post, index) =>
axios.get(post.details_url+"&output=json")
.then((response) =>
post.official_url = response.data.post.pet_details_url;
Vue.set(vm.posts, index, JSON.parse(JSON.stringify(post)))
).catch( error => console.log(error); );
);
).catch( error => console.log(error); );
【讨论】:
谢谢!这解决了我的问题。另外,感谢您链接解释,我仍在学习 VueJS,所以这是非常感谢的信息。POST 和 PUT 请求中的问题,使用 axios、vuetify 数据表、vuejs
】POST和PUT请求中的问题,使用axios、vuetify数据表、vuejs【英文标题】:ProbleminPOSTandPUTrequest,withaxios,vuetifydatatable,vuejs【发布时间】:2020-08-0703:03:42【问题描述】:我正在尝试根据我的需要通过实施axios来使用我的api来调整vuetify网... 查看详情
axios GET 请求不返回任何数据(VueJS 和 NodeJS)
】axiosGET请求不返回任何数据(VueJS和NodeJS)【英文标题】:axiosGETrequestdoesn\'treturnanydata(VueJS&NodeJS)【发布时间】:2021-03-2513:28:29【问题描述】:我正在尝试从前端(vueJS)到后端(nodeJS)进行API调用。这是我在后端处理原始api请求... 查看详情
Axios 请求 - 来自 PHP API 的 Gzip 数据
】Axios请求-来自PHPAPI的Gzip数据【英文标题】:AxiosRequest-GzipdatafromPHPAPI【发布时间】:2019-09-2219:38:55【问题描述】:是否可以在PHP中gzcompress数据然后让Axios请求它?我试过这样做,但一直收到此错误:“格式错误的UTF-8字符,可... 查看详情
在 Laravel 护照、vueJS 和 Axios 中获得未经授权的 401
...数据,因此我使用npmiaxios进行API请求,这是我的脚本代码来自App.vue文件:importaxiosf 查看详情
(axios) HTTP POST 请求两分钟后失败,Laravel 5 + VueJS
】(axios)HTTPPOST请求两分钟后失败,Laravel5+VueJS【英文标题】:(Axios)HTTPPOSTrequestfailedaftertwominutes,Laravel5+VueJS【发布时间】:2019-11-0606:13:18【问题描述】:我正在尝试为特定用户复制数据库中的数据。应该复制将近1000行。但是我的... 查看详情
带有 axios 的 VueJS 中的预检请求
】带有axios的VueJS中的预检请求【英文标题】:PreflightrequestinVueJSwithaxios【发布时间】:2018-04-2714:54:08【问题描述】:我有点难以从聚会API中获得响应。我得到的错误:Responsetopreflightrequestdoesn\'tpassaccesscontrolcheck:No\'Access-Control-Allow... 查看详情
在 vuejs 中发送 axios 发布请求
】在vuejs中发送axios发布请求【英文标题】:sendaxiospostrequestinvuejs【发布时间】:2020-05-1203:12:34【问题描述】:我想在vuejs中从我的模板发送axios发布请求,如下代码:<script>exportdefaultdata()returnbody:name:\'ssdsdsd\',time:\'232342\',,head... 查看详情
Axios 未在请求中发送自定义标头(可能是 CORS 问题)
】Axios未在请求中发送自定义标头(可能是CORS问题)【英文标题】:Axiosnotsendingcustomheadersinrequest(possibleCORSissue)【发布时间】:2018-11-0906:02:34【问题描述】:我遇到了一个问题,axios似乎没有随我的请求发送自定义标头。我是这... 查看详情
嵌套映射未在jsx反应中显示数据
...发布时间】:2021-11-1916:01:08【问题描述】:我正在尝试将来自第三方的这种格式的数组中的数据映射到jsx,但它似乎没有显示任何内容。这是我要映射的数组。[["id":"file1","link":"link.com","type":"video","overview":"Loremipsumd 查看详情
从 Vuejs 到 Django REST 框架的 Axios POST 请求
】从Vuejs到DjangoREST框架的AxiosPOST请求【英文标题】:AxiosPOSTrequestfromVuejstoDjangorestframework【发布时间】:2019-11-2007:39:16【问题描述】:我用vuejs和djangorest框架创建了一个restapi。问题是当我提出发布请求时。通过获取请求,他可以... 查看详情
使用 axios 的 Vuejs 页面中的多个并发请求
】使用axios的Vuejs页面中的多个并发请求【英文标题】:MultipleconcurrentrequestsinaVuejspageusingaxios【发布时间】:2018-07-0117:00:34【问题描述】:我使用Vuejs创建了一个小组件,它向传递的URL发出Ajax请求以确定其初始值。当我有几个该... 查看详情
CORS 块 Laravel + VueJS Axios
...请求时,我得到:“访问XMLHttpRequestat\'http://127.0.0.1:8080/来自\'http://localhost:8080\ 查看详情
使用 axios vuejs 和 laravel 验证表单
...的验证没有返回422状态的错误。Axios简单的axios向URL发布请求,如果我们在请求周期中发现错误,则希望得到响应。axios.post(this.formURL, 查看详情
vue3在axios中添加数据来自于sessionstorage的请求头(请求头添加token)(代码片段)
main.jsconstapp=createApp(App)app.config.globalProperties.$http=axios;//接口请求的基准路径axios.defaults.baseURL='http://192.168.1.111:8083/';//添加请求拦截器axios.interceptors.request.use(config& 查看详情
vue3在axios中添加数据来自于sessionstorage的请求头(请求头添加token)(代码片段)
main.jsconstapp=createApp(App)app.config.globalProperties.$http=axios;//接口请求的基准路径axios.defaults.baseURL='http://192.168.1.111:8083/';//添加请求拦截器axios.interceptors.request.use(config& 查看详情
Vue 未使用来自 Axios 请求的数据更新数组中的 Vuetify 数据表
】Vue未使用来自Axios请求的数据更新数组中的Vuetify数据表【英文标题】:VuenotupdatingVuetifydata-tablefromarraywithdatafromAxiosrequest【发布时间】:2020-04-2003:28:02【问题描述】:我有一个问题,一直在寻找几个小时来解决它,但没有任何... 查看详情
如何修复来自 Axios 的随机 http 请求(404 响应)
】如何修复来自Axios的随机http请求(404响应)【英文标题】:Howtofixrandomhttprequest(404response)fromAxios【发布时间】:2019-09-2704:44:23【问题描述】:HTTP请求按预期工作,但我看到对/%3Canonymous%3E的附加请求返回404。这导致Redux中出现以... 查看详情
Vuejs 在 vuex 商店中使用 axios 请求:不能发出多个请求,为啥?
】Vuejs在vuex商店中使用axios请求:不能发出多个请求,为啥?【英文标题】:Vuejswithaxiosrequestinvuexstore:can\'tmakemorethanonerequest,why?Vuejs在vuex商店中使用axios请求:不能发出多个请求,为什么?【发布时间】:2018-01-1412:50:13【问题描... 查看详情