JSON响应在反应本机提取中表现得很奇怪

时间:2016-11-30 17:03:12

标签: javascript json react-native

我正在使用fetch将数据发送到API,当数据到达API时,它会被验证,然后使用params发回响应,告诉哪些数据有效,哪些数据无效。

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,就像它没有展开一样。

为什么响应的行为如下? 我怎样才能访问这些参数?

1 个答案:

答案 0 :(得分:0)

我认为这些是你所看到的承诺,看看反应原生网络示例https://facebook.github.io/react-native/docs/network.html

电话就像这样

.then((response) => response.json())
.then((json) => {
  console.log(json)
}))