#

API Docs for: 3.10.3
Show: Inherited Protected Private Deprecated

# File: yql/js/yql-winjs.js

    /**
    * WinJS plugin for YQL to use native XHR to make requests instead of JSONP.
    * Not required by the user, it's conditionally loaded and should "just work".
    * @module yql
    * @submodule yql-winjs
    */

    //Over writes Y.YQLRequest._send to use IO instead of JSONP
    Y.YQLRequest.prototype._send = function (url, o) {
        var req = new XMLHttpRequest(),
            timer;

        req.open('GET', url, true);
        req.onreadystatechange = function () {
            if (req.readyState === 4) { //Complete
                //No status code check here, since the YQL service will return JSON
                clearTimeout(timer);
                //No need to "call" this, YQL handles the context
                o.on.success(JSON.parse(req.responseText));
            }
        };
        req.send();

        //Simple timer to catch no connections
        timer = setTimeout(function() {
            req.abort();
            o.on.timeout('script timeout');
        }, o.timeout || 30000);
    };