JSON响应在反应原生提取中表现得异常
问题描述:
我正在使用提取将数据发送到API,当数据到达API时进行验证,然后用带有参数的响应返回,该参数告诉哪些数据是有效的,哪些不是。JSON响应在反应原生提取中表现得异常
该params似乎被送回,但我无法访问它们。
这是获取:
fetch('http://localhost:3000/api/drivers', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Host': 'localhost:3000'
},
body: JSON.stringify({
judet: judetText,
numar: numarText,
litere: litereText,
taxi: isTaxi,
token: device_id,
key: api_key
})
})
.then(ApiUtils.checkStatus)
.then((response) => response.json().then((json) => {
console.log(json)
}))
而这正是记录结果:
Promise {_45: 0, _81: 0, _65: null, _54: null}
正如你所看到的, “_65” 为空
但是,如果我展开它,这就是它给我的印象:
Promise
_45: 0
_54: null
_65: Object
already_added: false
judet_invalid: true
litere_invalide: false
numar_invalid: true
__proto__:Object
_81: 1
__proto__: Object
这些是我尝试访问的参数
如果我运行console.log(json [“_65”]),它会给我null,就像它没有展开。
为什么响应的行为如此? 我该如何访问这些参数?
答
我认为这些都是你所看到的承诺,望着反应本地网络例如https://facebook.github.io/react-native/docs/network.html
电话是这样
.then((response) => response.json())
.then((json) => {
console.log(json)
}))
这种方式,同样的事情试了一下发生 – Octav
尝试调用然后()从json对象,因为它看起来像是一个承诺。但我不知道你为什么会在那里接受承诺 – diedu