2017-02-09 16 views
0

私はレスポンスを見るためにバインドが必要ではないと思っていますが、このフェッチ/ポストからレスポンスを返すので、ここに私のフェッチがあります。React - フェッチポストから自分のレスポンスを見ることができません

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に当たって、私は応答を返す。私のdevワークステーションでhttpトラフィックを表示するためにfiddlerを使用しています。ここで私の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(レスポンス)約束を返す.json()

MYRESPONSE::{} 
+0

どのように 'handleSubmit'関数を使いますか? – Khang

+0

@Khang基本的なフォームです。

Puerto

答えて

1

を示しています。あなたはする必要があります.json().then(data => console.log(data))

+0

yeap、それでした。ありがとう。受け入れられupvoted。 – Puerto

関連する問題