diff --git a/cookbook/cb-12-initial-ajax tip.md b/cookbook/cb-12-initial-ajax tip.md
new file mode 100644
index 00000000..555e7b9f
--- /dev/null
+++ b/cookbook/cb-12-initial-ajax tip.md
@@ -0,0 +1,44 @@
+---
+id: initial-ajax-tip
+title: Load initial data via AJAX
+layout: docs
+permalink: initial-ajax-tip.html
+---
+
+Fetch data in `componentDidMount`. When they arrive, put them inside your state then render them.
+
+This example fetches the desired Github user's lastest gist:
+
+```js
+/** @jsx React.DOM */
+
+var UserGist = React.createClass({
+ getInitialState: function() {
+ return {
+ username: '',
+ lastGistUrl: ''
+ };
+ },
+ componentDidMount: function() {
+ $.get(this.props.source, function(result) {
+ var lastGist = result[0];
+ this.setState({
+ username: lastGist.user.login,
+ lastGistUrl: lastGist.html_url
+ });
+ }.bind(this));
+ },
+ render: function() {
+ return (
+
+ {this.state.username}'s last gist is
+
here.
+
+ );
+ }
+});
+
+React.renderComponent(
+ , mountNode
+);
+```
diff --git a/cookbook/cb-12-initial-ajax.md b/cookbook/cb-12-initial-ajax.md
new file mode 100644
index 00000000..3e10a1ca
--- /dev/null
+++ b/cookbook/cb-12-initial-ajax.md
@@ -0,0 +1,48 @@
+---
+id: initial-ajax
+title: Load initial data via AJAX
+layout: docs
+permalink: initial-ajax.html
+---
+
+### Problem
+You want to load initial ajax data.
+
+### Solution
+Fetch data in `componentDidMount`. When they arrive, put them inside your state then render them.
+
+This example fetches the desired Github user's lastest gist:
+
+```js
+/** @jsx React.DOM */
+
+var UserGist = React.createClass({
+ getInitialState: function() {
+ return {
+ username: '',
+ lastGistUrl: ''
+ };
+ },
+ componentDidMount: function() {
+ $.get(this.props.source, function(result) {
+ var lastGist = result[0];
+ this.setState({
+ username: lastGist.user.login,
+ lastGistUrl: lastGist.html_url
+ });
+ }.bind(this));
+ },
+ render: function() {
+ return (
+
+ {this.state.username}'s last gist is
+
here.
+
+ );
+ }
+});
+
+React.renderComponent(
+ , mountNode
+);
+```