javascript - 如何在 Javascript 中检索 get 请求的值
问题描述
我正在尝试在 javascript 对象中检索数据,该对象是从对 API 的 get 请求生成的,在网络控制台中,我可以清楚地看到响应为 {"number":"141"} 但每当我尝试打印查询的结果我得到这种类型的对象,其中包含我想要的值:
在控制台中:
Object { _c: [], _a: undefined, _s: 0, _d: false, _v: undefined, _h: 0, _n: false }
但是当我花费价值时
{
"_c": [],
"_s": 1,
"_d": true,
"_v": {
"data": {
"number": "141"
},
"status": 200,
"statusText": "OK",
"headers": {
"content-type": "application/json; charset=utf-8"
},
"config": {
[...]
}
但每次我尝试时,我似乎无法仅使用 tab ['_v'] 访问该值。我尝试了多种方法,例如:
for (var key in x) {
console.log(x[key])
}
尝试打印“_v”部分,但我无法列出数组/对象的“_v”部分。
获得此类结果的步骤:
调用函数的 .vue 文件
export default {
mounted() {
var x=this.connectionsAlive()
console.log(x)
for (var property in x) {
console.log(property)
}
},
methods: {
...mapActions({
connectionsAlive: 'mkt/connectionsAlive',
})
}
}
然后它转到一个名为 mkt-module.js 的文件,然后是 mkt-api.js
---mkt-module---
import { connectionsAlive } from '@/api/mkt-api'
export default {
namespaced: true,
state: {
test: '',
},
actions: {
connectionsAlive() {
const response = connectionsAlive()
return response
}
}
}
----mkt-api----
import axios from 'axios'
import { getAbsoluteUrl } from '@/services/url-service'
export const connectionsAlive = () => (
axios.get(`/api/DeviceEvents/connectionsAlive`)
)
我得到的响应是:
JSON :
number : 141
但是当我尝试打印它时,我会在这篇文章的顶部得到结果。
我显然错过了一些东西,或者只是对结构的了解。如果有人有想法,我会很乐意接受帮助,谢谢。
解决方案
作为
连接活跃方法对服务器进行http调用,它是一个异步操作。
您应该将 .then() 附加到 this.connectionsAlive()
this.connectionsAlive().then(x => {
console.log(x)
for (var property in x) {
console.log(property)
}
})
我没有尝试过,但希望它可以帮助您发现问题。您可以在此处找到有关 Promises 的进一步阅读:https ://hackernoon.com/understanding-promises-in-javascript-13d99df067c1
推荐阅读
- vue.js - Vuetify - 对数据表中对象的 CRUD 操作
- php - 类型协方差与 PHP 中的抽象类和特征
- android - 在 Android Studio 中为错误行的文本背景着色
- javascript - 如何通过用户滚动根据当前内容自动突出显示侧边栏
- php - 如果php中的某些值相似,则从多维创建新数组?
- gcloud - google-api-client 中的 addInstance 函数似乎有错误
- excel - 索引匹配多个结果
- c# - 自适应卡片用户将图像添加到卡片
- java - 多个实例的 ActiveMQ 连接池错误
- c# - WPF:组合框值用作过滤器,但将显示上次选择的数据