src/cm/media/js/lib/yui/yui_3.10.3/docs/jsonp/jsonp-github.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Example: Getting Cross Domain JSON Data Using Y.jsonp()</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
            <h1>Example: Getting Cross Domain JSON Data Using Y.jsonp()</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
                <div class="content"><style scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
#out {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
    margin-top: 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
#out caption  {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    color: #f80;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    font-size: 123%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    display: table-caption;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    *display: block;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    <p>This example illustrates basic use of the <code>Y.jsonp( url, callback )</code> method, provided by the <code>jsonp</code> module.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    <p>For this example, we will use <a href="http://develop.github.com/">GitHub's webservice API</a>, fetching user information about some members of the YUI team.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
<div class="example yui3-skin-sam">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
<div id="demo">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    <select id="github_user">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        <option value="yui">YUI Library</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        <option value="allenrabinovich">Allen Rabinovich</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        <option value="davglass">Dav Glass</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        <option value="derek">Derek Gathright</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        <option value="ericf">Eric Ferraiuolo</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        <option value="jenny">Jenny Donnelly</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        <option value="lsmith">Luke Smith</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        <option value="msweeney">Matt Sweeney</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        <option value="reid">Reid Burke</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        <option value="rgrove">Ryan Grove</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        <option value="sdesai">Satyen Desai</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        <option value="tripp">Tripp Bridges</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    </select>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    <input type="button" id="demo_btn" value="Get user info">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    <div id="out">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
YUI().use("jsonp", "node",function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    var user      = Y.one("#github_user"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        githubAPI = "https://api.github.com/users/",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        template  = // assignment continued below
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    '<table>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        '<caption>GitHub user <code>{login}</code> ({name})</caption>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        '<thead>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
            '<tr>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
                '<th>Repositories</th>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                '<th>Gists</th>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
                '<th>Followers</th>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
                '<th>Following</th>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
            '</tr>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
        '</thead>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
        '<tbody>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
            '<tr>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
                '<td>{public_repos}</td>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
                '<td>{public_gists}</td>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
                '<td>{followers}</td>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
                '<td>{following}</td>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
            '</tr>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        '</tbody>' +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    '</table>';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    function handleJSONP(response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
        Y.one("#out").setHTML(Y.Lang.sub(template, response.data));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    Y.one("#demo_btn").on("click", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
        // e.g. https://api.github.com/users/yui?callback={callback}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
        var url = githubAPI + user.get("value") + "?callback={callback}";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
        Y.jsonp(url, handleJSONP);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
<h3>The data</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
<p>The structure of the JavaScript object returned from GitHub's JSONP API for user info will look like this:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
<pre class="code prettyprint">{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    data: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        avatar_id: &quot;fc2cca...&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        login: &quot;username&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        name: &quot;User&#x27;s Name&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        ...,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        public_repos: 10,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
        public_gists: 20,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
        following: 30,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
        followers: 40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
<p>We'll use these objects to populate HTML templates with data <em>{placeholder}</em>s using <code>Y.Lang.sub( template, object )</code>.  The resulting HTML can then simply be passed to any of YUI 3's DOM creation methods, such as <code>node.setHTML( html )</code> or <code>node.append( html )</code>.  We'll do this in the function that will receive the JSONP response (seen below).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
<h3>Format the JSONP url</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
<p>Typical JSONP urls are formatted like</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
<p>&quot;http://example.com/service?format=json&<em>callback=handleJSONP</em>&quot;.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
<p>To use YUI 3's JSONP utility, replace the name of the callback function in the url with placeholder text &quot;{callback}&quot;.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
<pre class="code prettyprint">&#x2F;&#x2F; BEFORE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
var url = &quot;https:&#x2F;&#x2F;api.github.com&#x2F;users&#x2F;yui?callback=handleJSONP&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
&#x2F;&#x2F;AFTER
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
var url = &quot;https:&#x2F;&#x2F;api.github.com&#x2F;users&#x2F;yui?callback={callback}&quot;;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
<p>Then simply pass the url and the function that should handle the JSONP response object to <code>Y.jsonp(&lt;em&gt;url&lt;&#x2F;em&gt;, &lt;em&gt;handleJSONP&lt;&#x2F;em&gt;)</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
<pre class="code prettyprint">function handleJSONP(response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
    Y.one(&quot;#out&quot;).setHTML(Y.Lang.sub(template, response.data));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
Y.one(&quot;#demo_btn&quot;).on(&quot;click&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
    &#x2F;&#x2F; e.g. https:&#x2F;&#x2F;api.github.com&#x2F;users&#x2F;yui?callback={callback}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
    var url = githubAPI + user.get(&quot;value&quot;) + &quot;?callback={callback}&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
    Y.jsonp(url, handleJSONP);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
<h3 id="fullcode">Full Code Listing</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
<h4>HTML</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
<pre class="code prettyprint">&lt;div id=&quot;demo&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    &lt;select id=&quot;github_user&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
        &lt;option value=&quot;yui&quot;&gt;YUI Library&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
        &lt;option value=&quot;allenrabinovich&quot;&gt;Allen Rabinovich&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
        &lt;option value=&quot;davglass&quot;&gt;Dav Glass&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
        &lt;option value=&quot;derek&quot;&gt;Derek Gathright&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
        &lt;option value=&quot;ericf&quot;&gt;Eric Ferraiuolo&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
        &lt;option value=&quot;jenny&quot;&gt;Jenny Donnelly&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
        &lt;option value=&quot;lsmith&quot;&gt;Luke Smith&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
        &lt;option value=&quot;msweeney&quot;&gt;Matt Sweeney&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
        &lt;option value=&quot;reid&quot;&gt;Reid Burke&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
        &lt;option value=&quot;rgrove&quot;&gt;Ryan Grove&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
        &lt;option value=&quot;sdesai&quot;&gt;Satyen Desai&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
        &lt;option value=&quot;tripp&quot;&gt;Tripp Bridges&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    &lt;&#x2F;select&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    &lt;input type=&quot;button&quot; id=&quot;demo_btn&quot; value=&quot;Get user info&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
    &lt;div id=&quot;out&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
<h4>JavaScript</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
<pre class="code prettyprint">&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
YUI().use(&quot;jsonp&quot;, &quot;node&quot;,function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
    var user      = Y.one(&quot;#github_user&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
        githubAPI = &quot;https:&#x2F;&#x2F;api.github.com&#x2F;users&#x2F;&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
        template  = &#x2F;&#x2F; assignment continued below
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    &#x27;&lt;table&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        &#x27;&lt;caption&gt;GitHub user &lt;code&gt;{login}&lt;&#x2F;code&gt; ({name})&lt;&#x2F;caption&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
        &#x27;&lt;thead&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
            &#x27;&lt;tr&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
                &#x27;&lt;th&gt;Repositories&lt;&#x2F;th&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
                &#x27;&lt;th&gt;Gists&lt;&#x2F;th&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
                &#x27;&lt;th&gt;Followers&lt;&#x2F;th&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
                &#x27;&lt;th&gt;Following&lt;&#x2F;th&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
            &#x27;&lt;&#x2F;tr&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
        &#x27;&lt;&#x2F;thead&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
        &#x27;&lt;tbody&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
            &#x27;&lt;tr&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
                &#x27;&lt;td&gt;{public_repos}&lt;&#x2F;td&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                &#x27;&lt;td&gt;{public_gists}&lt;&#x2F;td&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
                &#x27;&lt;td&gt;{followers}&lt;&#x2F;td&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
                &#x27;&lt;td&gt;{following}&lt;&#x2F;td&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
            &#x27;&lt;&#x2F;tr&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
        &#x27;&lt;&#x2F;tbody&gt;&#x27; +
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    &#x27;&lt;&#x2F;table&gt;&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
    function handleJSONP(response) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
        Y.one(&quot;#out&quot;).setHTML(Y.Lang.sub(template, response.data));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    Y.one(&quot;#demo_btn&quot;).on(&quot;click&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
        &#x2F;&#x2F; e.g. https:&#x2F;&#x2F;api.github.com&#x2F;users&#x2F;yui?callback={callback}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
        var url = githubAPI + user.get(&quot;value&quot;) + &quot;?callback={callback}&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
        Y.jsonp(url, handleJSONP);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
                                        <li data-description="Get basic GitHub user info using a Y.jsonp(url, callback).">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
                                            <a href="jsonp-github.html">Getting Cross Domain JSON Data Using Y.jsonp()</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
                                        <li data-description="Create a reusable JSONPRequest object to poll the YUILibrary.com Gallery web service, fetching info on a random Gallery module.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
                                            <a href="jsonp-gallery.html">Reusing a JSONPRequest Instance to Poll a Remote Server</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
                                        <li data-description="Wrapping async transactions with promises">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
                                            <a href="../promise/basic-example.html">Wrapping async transactions with promises</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
                                        <li data-description="Extend Y.Promise to create classes that encapsulate standard transaction logic in descriptive method names">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
                                            <a href="../promise/subclass-example.html">Subclassing Y.Promise</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
    assets: '../assets/jsonp',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
    name: 'jsonp-github',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
    title: 'Getting Cross Domain JSON Data Using Y.jsonp()',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
YUI.Env.Tests.examples.push('jsonp-github');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
YUI.Env.Tests.examples.push('jsonp-gallery');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
YUI.Env.Tests.examples.push('basic-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
YUI.Env.Tests.examples.push('subclass-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
</html>