2016-11-30 71 views
1

我正在使用提取將數據發送到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,就像它沒有展開。

爲什麼響應的行爲如此? 我該如何訪問這些參數?

回答

0

我認爲這些都是你所看到的承諾,望着反應本地網絡例如https://facebook.github.io/react-native/docs/network.html

電話是這樣

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

這種方式,同樣的事情試了一下發生 – Octav

+0

嘗試調用然後()從json對象,因爲它看起來像是一個承諾。但我不知道你爲什麼會在那裏接受承諾 – diedu