質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

239閲覧

reactJSのajax通信の仕様について

yyyAse

総合スコア12

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2017/10/27 04:39

reactJSでajax通信を使った処理を作成しています。
ajaxの返り値を見ると、2回実行されているのですが、
これは仕様でしょうか?
調べても有益な情報が得られず…
教えていただけると助かります。
(SuperAgentでもテストしましたが同じく2回実行されていました)

react

1var Compornent = React.createClass({ 2 getInitialState: function(){ 3 return { data: [] }; 4 }, 5 loadCommentsFromServer: function(){ 6 $.ajax({ 7 url: this.props.url, 8 dataType: 'json', 9 cache: 'false', 10 success: function(data){ 11 this.setState({ data: data }); 12 }.bind(this), 13 error: function(xhr, status, err){ 14 console.error(this.props.url, status, err.toString()); 15 }.bind(this) 16 }); 17 }, 18 componentDidMount: function(){ 19 this.loadCommentsFromServer(); 20 }, 21 render: function(){ 22 return ({this.state.data); 23 } 24}); 25ReactDOM.render( 26 <Compornent url="/hoge.json" />, 27 document.getElementById('content') 28);

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

bindの位置ではないですか?

$.ajax({ url: this.props.url, dataType: 'json', cache: 'false', success: function(data){ this.setState({ data: data }); }, error: function(xhr, status, err){ console.error(this.props.url, status, err.toString()); } }).bind(this);

投稿2017/10/27 05:01

yuki-saito

総合スコア928

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yyyAse

2017/10/27 05:32

だめですね… loadCommentsFromServer自体が2回実行されているのが原因かと思うのですが… 何か解決策はありますか?
yyyAse

2017/10/27 06:16

検証ありがとうございます。fuelphpで確認しています。 そうなるとreactの問題ではなさそうですね。
yuki-saito

2017/10/27 06:22

そうですね。 検証して大丈夫そうなのでreact的には問題ないかと思います。 クライアントーサーバ間なのか、その他のHTML・JSのどこかに問題があるのか その辺りを探っていくしかなさそうです。
yyyAse

2017/10/27 07:09

jsファイル呼び出しから見直したら直りました。 どうやら不要なものを読み込んでしまっていたようです。 ありがとうございました。助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問