From bc9a92097e7e7f276303f43d7e4918bf993992ca Mon Sep 17 00:00:00 2001 From: George A Sisco III Date: Wed, 9 Apr 2014 13:42:13 -0400 Subject: [PATCH 1/2] Carry ajax error checking from step #13 forward to other ajax steps The following steps also have an ajax function, but the 'error:' param is gone after #13: #14 #17 #19 #20 This may be superfluous, but it helped me find an error with something I was doing - Namely, in my .json file, I had single line javascript comments ("//") that I copied from the tutorial. I couldn't find the issue on later steps, but was able to see my issue when the error handler complained about an unexpected "/" in my file in step #13. --- docs/tutorial.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/tutorial.md b/docs/tutorial.md index 797e9df4..70b0d254 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -420,6 +420,9 @@ var CommentBox = React.createClass({ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -526,6 +529,9 @@ var CommentBox = React.createClass({ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -593,6 +599,9 @@ var CommentBox = React.createClass({ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -604,6 +613,9 @@ var CommentBox = React.createClass({ data: comment, success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -641,6 +653,9 @@ var CommentBox = React.createClass({ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -655,6 +670,9 @@ var CommentBox = React.createClass({ data: comment, success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, From 3ab1997f614cdbc5e17cd3ff82c2b35277c637c6 Mon Sep 17 00:00:00 2001 From: georgesisco Date: Thu, 10 Apr 2014 14:51:10 -0400 Subject: [PATCH 2/2] Update tutorial.md --- docs/tutorial.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tutorial.md b/docs/tutorial.md index 70b0d254..647a7135 100644 --- a/docs/tutorial.md +++ b/docs/tutorial.md @@ -411,7 +411,7 @@ var CommentBox = React.createClass({ Here, `componentWillMount` is a method called automatically by React before a component is rendered. The key to dynamic updates is the call to `this.setState()`. We replace the old array of comments with the new one from the server and the UI automatically updates itself. Because of this reactivity, it is only a minor change to add live updates. We will use simple polling here but you could easily use WebSockets or other technologies. -```javascript{3,16-17,31} +```javascript{3,19-20,34} // tutorial14.js var CommentBox = React.createClass({ loadCommentsFromServer: function() { @@ -520,7 +520,7 @@ When a user submits a comment, we will need to refresh the list of comments to i We need to pass data from the child component to its parent. We do this by passing a `callback` in props from parent to child: -```javascript{12-14,28} +```javascript{15-17,31} // tutorial17.js var CommentBox = React.createClass({ loadCommentsFromServer: function() { @@ -590,7 +590,7 @@ var CommentForm = React.createClass({ Now that the callbacks are in place, all we have to do is submit to the server and refresh the list: -```javascript{13-21} +```javascript{16-27} // tutorial19.js var CommentBox = React.createClass({ loadCommentsFromServer: function() { @@ -644,7 +644,7 @@ var CommentBox = React.createClass({ Our application is now feature complete but it feels slow to have to wait for the request to complete before your comment appears in the list. We can optimistically add this comment to the list to make the app feel faster. -```javascript{13-15} +```javascript{16-18} // tutorial20.js var CommentBox = React.createClass({ loadCommentsFromServer: function() {