src/cm/media/js/lib/yui/yui_3.10.3/docs/io/xdr.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: Request JSON using Yahoo! Pipes</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: Request JSON using Yahoo! Pipes</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 type="text/css" scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
#output li {margin-left:2em;}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
#output { background-color:#FFFFFF; border:1px dotted #666666; padding:1em; margin-top:1em;}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
<p>In the example below, IO is employed to make a cross-domain request to <a href="http://pipes.yahoo.com">Yahoo! Pipes</a>.  The output of the Pipe is an RSS-style feed formatted as JSON.  We pass that output to the JSON Utility's <code>parse</code> method for sanitization and then display the contents of the Pipe in a list.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
<p>This example demonstrates how IO can use the Cross-Origin Resource Sharing (http://www.w3.org/TR/cors/) mechanism for making cross-domain requests.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
<p><strong>Please note: </strong> All the browsers listed in the Browser Test Baseline (http://developer.yahoo.com/yui/articles/gbs/) support CORS with the exception of IE 6.0 and IE 7.0, and Webkit on iOS 3.  In addition to browser capability, the requested resource must respond with the proper Access-Control headers for the request to succeed.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
<div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
<button id="pipes">Load RSS news feed from Yahoo! Pipes.</button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
<div id="output">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        <li>Content from Yahoo! Pipes feed will display here.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
<script language="javascript">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
YUI({ filter:'raw' }).use("io-xdr", "json-parse", "node",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        //Data fetched will be displayed in a UL in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        //element #output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        var output = Y.one("#output ul");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        //Event handler called when the transaction begins:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        var handleStart = function(id, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
            Y.log("io:start firing.", "info", "example");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            output.set("innerHTML", "<li>Loading news stories via Yahoo! Pipes feed...</li>");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        //Event handler for the success event -- use this handler to write the fetched
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        //RSS items to the page.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        var handleSuccess = function(id, o, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            //We use JSON.parse to sanitize the JSON (as opposed to simply performing an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
            //JavaScript eval of the data):
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
            var oRSS = Y.JSON.parse(o.responseText);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
            //From here, we simply access the JSON data from where it's provided
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
            //in the Yahoo! Pipes output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
            if (oRSS && oRSS.count) {
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 s = "<!--begin news stories fetched via Yahoo! Pipes-->",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
                    //t in this case is our simple template; this is fed to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
                    //Y.Lang.sub() as we loop through RSS items:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
                    t = "<li><a href='{link}'>{title}</a>, {pubDate}</li>";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
                for (var i=0; i<oRSS.count; i++) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
                    s += Y.Lang.sub(t, oRSS.value.items[i]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                //Output the string to the page:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
                output.set("innerHTML", s);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
                output.addClass("yui-null");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
                //No news stories were found in the feed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
                var s = "<li>The RSS feed did not return any items.</li>";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        //In the event that the HTTP status returned does not resolve to,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        //HTTP 2xx, a failure is reported and this function is called:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        var handleFailure = function(id, o, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            Y.log("ERROR " + id + " " + a, "info", "example");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
        //With all the apparatus in place, we can now configure our
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
        //IO call.  The method property is defined, but if omitted,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
        //IO will default to HTTP GET.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        var cfg = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
            method: "GET",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
            xdr: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
                use:'native'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
            on: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                //Our event handlers previously defined:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
                start: handleStart,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
                success: handleSuccess,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
                failure: handleFailure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
        //Wire the button to a click handler to fire our request each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
        //time the button is clicked:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
        var handleClick = function(o) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
            Y.log("Click detected; beginning io request to Yahoo! Pipes.", "info", "example");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
	    // Remove the default "X-Requested-With" header as this will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
	    // prevent the request from succeeding; the Pipes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
	    // resource will not accept user-defined HTTP headers.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
	    Y.io.header('X-Requested-With');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
            var obj = Y.io(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
                //this is a specific Pipes feed, populated with cycling news:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
                "http://pipes.yahooapis.com/pipes/pipe.run?_id=giWz8Vc33BG6rQEQo_NLYQ&_render=json",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
                cfg
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
        //add the click handler to the Load button.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        Y.on("click", handleClick, "#pipes");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
<h3 class="first">Implementing a Cross-Domain Request for JSON Data</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
<p>In this example, we begin with a YUI instance that loads the <code>io-xdr</code>, <code>json-parse</code>, and <code>node</code> modules. The <code>io-xdr</code> module is the key module. The other modules are used to process and output the results:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
<pre class="code prettyprint">&#x2F;&#x2F;Create a YUI instance including support for IO and JSON modules:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
YUI().use(&quot;io-xdr&quot;, &quot;json-parse&quot;, &quot;node&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
    &#x2F;&#x2F; Y is the YUI instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
    &#x2F;&#x2F; The rest of the following code is encapsulated in this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    &#x2F;&#x2F; anonymous function.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
<p>We'll also get a Node reference to the container we'll be using to output the data we retrieve:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
<pre class="code prettyprint">&#x2F;&#x2F;element #output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
var output = Y.one(&quot;#output ul&quot;);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
<p>handleSuccess is the function responsible for handling the response data.  The first thing we do is sanitize the data to ensure we have valid JSON.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
<pre class="code prettyprint">var oRSS = Y.JSON.parse(o.responseText);</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
<p>Next, we create a simple markup template and use <code>Y.Lang.sub()</code> to fill in the data, as we iterate through the JSON and output the results.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
<pre class="code prettyprint">&#x2F;&#x2F;From here, we simply access the JSON data from where it&#x27;s provided
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
&#x2F;&#x2F;in the Yahoo! Pipes output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
if (oRSS &amp;&amp; oRSS.count) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    var s = &quot;&lt;!--begin news stories fetched via Yahoo! Pipes--&gt;&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
        &#x2F;&#x2F;t in this case is our simple template; this is fed to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
        &#x2F;&#x2F;Y.Lang.sub() as we loop through RSS items:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
        t = &quot;&lt;li&gt;&lt;a href=&#x27;{link}&#x27;&gt;{title}&lt;&#x2F;a&gt;, {pubDate}&lt;&#x2F;li&gt;&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    for (var i=0; i&lt;oRSS.count; i++) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
        s += Y.Lang.sub(t, oRSS.value.items[i]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    &#x2F;&#x2F;Output the string to the page:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    output.set(&quot;innerHTML&quot;, s);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    output.addClass(&quot;yui-null&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
<p>Create the configuration object for the cross-domain request, setting up the  event handlers and instructing IO to use the browser's native cross-domain transport.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
<pre class="code prettyprint">var cfg = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
    method: &quot;GET&quot;, &#x2F;&#x2F;If omitted, the default is HTTP GET.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
    xdr: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        use:&#x27;native&#x27;&#x2F;&#x2F;For browsers that support CORS.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    on: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        &#x2F;&#x2F;Our event handlers previously defined:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        start: handleStart,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
        success: handleSuccess,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
        failure: handleFailure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
};</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
<p>Create an event handler that will make the IO call to Yahoo! Pipes when the Load button is clicked:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
<pre class="code prettyprint">&#x2F;&#x2F;Wire the button to a click handler to fire our request each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
&#x2F;&#x2F;time the button is clicked:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
var handleClick = function(o) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
    Y.log(&quot;Click detected; beginning io request to Yahoo! Pipes.&quot;, &quot;info&quot;, &quot;example&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    &#x2F;&#x2F; Remove the default &quot;X-Requested-With&quot; header as this will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
    &#x2F;&#x2F; prevent the request from succeeding; the Pipes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    &#x2F;&#x2F; resource will not accept user-defined HTTP headers.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
    Y.io.header(&#x27;X-Requested-With&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
    var obj = Y.io(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
	&#x2F;&#x2F;this is a specific Pipes feed, populated with cycling news:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
	&quot;http:&#x2F;&#x2F;pipes.yahooapis.com&#x2F;pipes&#x2F;pipe.run?_id=giWz8Vc33BG6rQEQo_NLYQ&amp;_render=json&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
	cfg
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
&#x2F;&#x2F;add the click handler to the Load button.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
Y.on(&quot;click&quot;, handleClick, &quot;#pipes&quot;);</pre>
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
<h4>Full Script</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
<p>The full script source for this example is as follows:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
<pre class="code prettyprint">&lt;button id=&quot;pipes&quot;&gt;Load RSS news feed from Yahoo! Pipes.&lt;&#x2F;button&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
&lt;div id=&quot;output&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    &lt;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
        &lt;li&gt;Content from Yahoo! Pipes feed will display here.&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
    &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
&lt;script language=&quot;javascript&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
YUI({ filter:&#x27;raw&#x27; }).use(&quot;io-xdr&quot;, &quot;json-parse&quot;, &quot;node&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
        &#x2F;&#x2F;Data fetched will be displayed in a UL in the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
        &#x2F;&#x2F;element #output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
        var output = Y.one(&quot;#output ul&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
        &#x2F;&#x2F;Event handler called when the transaction begins:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
        var handleStart = function(id, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
            Y.log(&quot;io:start firing.&quot;, &quot;info&quot;, &quot;example&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
            output.set(&quot;innerHTML&quot;, &quot;&lt;li&gt;Loading news stories via Yahoo! Pipes feed...&lt;&#x2F;li&gt;&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
        &#x2F;&#x2F;Event handler for the success event -- use this handler to write the fetched
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        &#x2F;&#x2F;RSS items to the page.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
        var handleSuccess = function(id, o, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
            &#x2F;&#x2F;We use JSON.parse to sanitize the JSON (as opposed to simply performing an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
            &#x2F;&#x2F;JavaScript eval of the data):
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
            var oRSS = Y.JSON.parse(o.responseText);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            &#x2F;&#x2F;From here, we simply access the JSON data from where it&#x27;s provided
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
            &#x2F;&#x2F;in the Yahoo! Pipes output:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
            if (oRSS &amp;&amp; oRSS.count) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
                var s = &quot;&lt;!--begin news stories fetched via Yahoo! Pipes--&gt;&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                    &#x2F;&#x2F;t in this case is our simple template; this is fed to
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                    &#x2F;&#x2F;Y.Lang.sub() as we loop through RSS items:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                    t = &quot;&lt;li&gt;&lt;a href=&#x27;{link}&#x27;&gt;{title}&lt;&#x2F;a&gt;, {pubDate}&lt;&#x2F;li&gt;&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
                for (var i=0; i&lt;oRSS.count; i++) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
                    s += Y.Lang.sub(t, oRSS.value.items[i]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                &#x2F;&#x2F;Output the string to the page:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
                output.set(&quot;innerHTML&quot;, s);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
                output.addClass(&quot;yui-null&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
                &#x2F;&#x2F;No news stories were found in the feed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
                var s = &quot;&lt;li&gt;The RSS feed did not return any items.&lt;&#x2F;li&gt;&quot;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
        &#x2F;&#x2F;In the event that the HTTP status returned does not resolve to,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        &#x2F;&#x2F;HTTP 2xx, a failure is reported and this function is called:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
        var handleFailure = function(id, o, a) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
            Y.log(&quot;ERROR &quot; + id + &quot; &quot; + a, &quot;info&quot;, &quot;example&quot;);
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
        &#x2F;&#x2F;With all the apparatus in place, we can now configure our
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        &#x2F;&#x2F;IO call.  The method property is defined, but if omitted,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
        &#x2F;&#x2F;IO will default to HTTP GET.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        var cfg = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
            method: &quot;GET&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
            xdr: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
                use:&#x27;native&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
            on: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
                &#x2F;&#x2F;Our event handlers previously defined:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
                start: handleStart,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
                success: handleSuccess,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
                failure: handleFailure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        &#x2F;&#x2F;Wire the button to a click handler to fire our request each
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
        &#x2F;&#x2F;time the button is clicked:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
        var handleClick = function(o) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
            Y.log(&quot;Click detected; beginning io request to Yahoo! Pipes.&quot;, &quot;info&quot;, &quot;example&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
	    &#x2F;&#x2F; Remove the default &quot;X-Requested-With&quot; header as this will
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
	    &#x2F;&#x2F; prevent the request from succeeding; the Pipes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
	    &#x2F;&#x2F; resource will not accept user-defined HTTP headers.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
	    Y.io.header(&#x27;X-Requested-With&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
            var obj = Y.io(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
                &#x2F;&#x2F;this is a specific Pipes feed, populated with cycling news:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
                &quot;http:&#x2F;&#x2F;pipes.yahooapis.com&#x2F;pipes&#x2F;pipe.run?_id=giWz8Vc33BG6rQEQo_NLYQ&amp;_render=json&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
                cfg
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
            );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
        &#x2F;&#x2F;add the click handler to the Load button.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
        Y.on(&quot;click&quot;, handleClick, &quot;#pipes&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
                                        <li data-description="Use IO to request data over HTTP.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
                                            <a href="get.html">HTTP GET to request data</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
                                        <li data-description="Use IO to request XML data from a remote web service.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
                                            <a href="weather.html">Request XML data from Yahoo! Weather</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
                                        <li data-description="Use IO to make a cross-domain request to Yahoo! Pipes, returning data from disparate sources.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
                                            <a href="xdr.html">Request JSON using Yahoo! Pipes</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
                                        <li data-description="Shows how to create a simple plugin to retrieve content for the Overlay using the io utility.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
                                            <a href="../overlay/overlay-io-plugin.html">IO Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
    assets: '../assets/io',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
    name: 'xdr',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
    title: 'Request JSON using Yahoo! Pipes',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
YUI.Env.Tests.examples.push('get');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
YUI.Env.Tests.examples.push('weather');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
YUI.Env.Tests.examples.push('xdr');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
YUI.Env.Tests.examples.push('overlay-io-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
</html>