2017-02-09 60 views
0

我不認爲這需要一個綁定來查看響應,但我必須失去一些東西,因爲即時通訊從該Fetch/post獲取響應。這是我的抓取。反應 - 我看不到我的迴應

export default class Test extends Component { 
constructor(props) { 
super(props); 
this.state = { value: '' }; 

this.handleChange = this.handleChange.bind(this); 
this.handleSubmit = this.handleSubmit.bind(this); 
} 
componentDidMount() { } 

handleChange(event) { 
this.setState({ value: event.target.value }); 
} 

handleSubmit(event, cb) { 
    event.preventDefault(); 

return (
    fetch('test/post', 'POST') 
    .then(response => { 
     if (response.status >= 400) { 
     this.setState({ 
      value: 'error', 
     }); 
     throw new Error('Throw Error'); 
     } 
     console.log('REACT::RESPONSE', response.json()); 
     return response.json(); 
    }) 
    .then(cb) 
    .catch(() => { 
     this.setState({ 
     value: 'error cb', 
     }); 
    }) 
); 
    } 

該帖子看起來不錯。它擊中了我的webApi,我得到了迴應。我使用fiddler來查看我的開發工作站上的http流量。以下是來自我的webApi的響應消息在小提琴手中的樣子。

HTTP/1.1 200 OK 
Date: Wed, 08 Feb 2017 22:49:27 GMT 
Content-Type: application/json; charset=utf-8 
Server: Kestrel 
Access-Control-Allow-Origin: * 
Content-Length: 16 

{"name":"MyName"} 

當前MYRESPONSE ::控制檯日誌只顯示。

MYRESPONSE::[object Promise] 

或 「MYRESPONSE ::」 + JSON.stringify(響應)表示

MYRESPONSE::{} 
+0

你如何使用'handleSubmit'函數? – Khang

+0

@Khang這是一個基本的表單提交。

Puerto

回答

1

.json()返回一個承諾。你需要做.json().then(data => console.log(data))

+0

是的,就是這樣。非常感謝。接受和upvoted。 – Puerto

相關問題