Javascript YQL AJAX跨域请求已停止工作

Javascript YQL AJAX跨域请求已停止工作,javascript,ajax,yql,Javascript,Ajax,Yql,我一直在使用下面的代码成功地将外部网页的内容作为字符串读取-我已经一个月左右没有使用这个程序了,但它突然停止工作,即使代码没有更改。我怀疑YQLAPI已经更新了,但是我找不到任何可以理解的文档。(我是JS的初学者)。如果有人能告诉我如何更新我的代码,我将不胜感激 代码: 函数表单已提交(raceID){ if(外消旋体长度0){ savedRaceID=总状花序; raceUrl=”http://www.bbk-online.net/gpt/lap“+raceID+”.htm”; jQuery.

我一直在使用下面的代码成功地将外部网页的内容作为字符串读取-我已经一个月左右没有使用这个程序了,但它突然停止工作,即使代码没有更改。我怀疑YQLAPI已经更新了,但是我找不到任何可以理解的文档。(我是JS的初学者)。如果有人能告诉我如何更新我的代码,我将不胜感激

代码:

函数表单已提交(raceID){
if(外消旋体长度<4&&raceID>0){
savedRaceID=总状花序;
raceUrl=”http://www.bbk-online.net/gpt/lap“+raceID+”.htm”;
jQuery.ajax=(函数(_ajax){
var协议=location.protocol,
hostname=location.hostname,
exRegex=RegExp(协议+'/'+主机名),
YQL='http'+(/^https/.test(协议)?'s':''+'://query.yahooapi.com/v1/public/YQL?callback=?',
query='从html中选择*,其中url=“{url}”和xpath=“*”;
函数isExternal(url){
return!exRegex.test(url)&&&/:\/\/.test(url);
}
返回函数(o){
var url=o.url;
if(/get/i.test(o.type)&&&!/json/i.test(o.dataType)&&isExternal(url)){
//操纵选项,以便向YQL发出JSONP-x请求
o、 url=YQL;
o、 数据类型='json';
o、 数据={
q:query.replace(
“{URL}”,
url+(o.data?
(/\?/.test(url)“&”:“?”)+jQuery.param(o.data)
: '')
),
格式:“xml”
};
//因为这是一个JSONP请求
//完成===成功
如果(!o.success&&o.complete){
o、 成功=完成;
删除o.complete;
}
o、 success=(函数(_success){
返回函数(数据){
如果(成功){
//假XHR回调。
_成功,叫(这个){
responseText:data.results[0]。替换(/]+?\/>|/gi',)
//错误来自上面-正在对空对象调用REPLACE??
//表示没有返回数据?
}"成功";;
}
};
})(o)成功;
}
return _ajax.apply(这是参数);
};
})(jQuery.ajax);
$.ajax({
url:raceUrl,
键入:“GET”,
成功:功能(res){
processData(res.responseText);
}
});
}
否则{
警报(“请输入有效的比赛号码…”);
}
}

我已经强调了错误的来源-函数似乎没有返回任何数据?

测井
数据
到控制台,并查看它实际包含的内容…抱歉,应该尝试一下-它生成:{“查询”:{“计数”:“0”,“创建”:“2017-06-21T09:48:34Z”,“lang”:“en-US”,“meta”:{“消息”:不再支持html表。有关YQL使用条款“}”,请参阅“:[]}”-我已经在这个页面上了,就我所能看到的而言,它没有任何用处,至少应该回答以下问题:是否有任何变化……不确定他们为什么将您链接到ToS,听起来他们更应该链接到YQL API文档,这样您就可以了解关于返回格式的其他选项(?)有。@Tech,请看看这是否对你有帮助,给他一个投票。
function formSubmitted(raceID) {
    if(raceID.length < 4 && raceID > 0){
        savedRaceID = raceID;
        raceUrl = "http://www.bbk-online.net/gpt/lap"+raceID+".htm";
        jQuery.ajax = (function(_ajax){

    var protocol = location.protocol,
        hostname = location.hostname,
        exRegex = RegExp(protocol + '//' + hostname),
        YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
        query = 'select * from html where url="{URL}" and xpath="*"';
        function isExternal(url) {
            return !exRegex.test(url) && /:\/\//.test(url);
        }

        return function(o) {

        var url = o.url;

        if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {
                // Manipulate options so that JSONP-x request is made to YQL
            o.url = YQL;
            o.dataType = 'json';
            o.data = {
            q: query.replace(
                '{URL}',
                url + (o.data ?
                    (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
                    : '')
                ),
                format: 'xml'
            };

            // Since it's a JSONP request
            // complete === success
            if (!o.success && o.complete) {
                o.success = o.complete;
                delete o.complete;
            }

            o.success = (function(_success){
                return function(data) {
                    if (_success) {
                        // Fake XHR callback.
                        _success.call(this, {
                            responseText: data.results[0].replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')


//THE ERROR IS COMING FROM ABOVE - REPLACE IS BEING CALLED ON A NULL OBJECT??
//SUGGESTS NO DATA RETURNED?


                            }, 'success');
                        }

                    };
            })(o.success);

        }

        return _ajax.apply(this, arguments);

    };

})(jQuery.ajax);

        $.ajax({
    url: raceUrl,
    type: 'GET',
    success: function(res) {
        processData(res.responseText);
    }
});
    }
    else{
        alert("Please enter a valid race number...");
    }
}