Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阅读JSONP_Json_Jquery_Jsonp - Fatal编程技术网

阅读JSONP

阅读JSONP,json,jquery,jsonp,Json,Jquery,Jsonp,我有以下脚本,可以访问jsonp提要并从中获取数据: $(document).ready(function() { get_jsonp_feed(); function get_jsonp_feed() { $.ajax({ url: "http://query.yahooapis.com/v1/public/yql?q=%20SELECT%20*%20FROM%20html%20WHERE%20url%3D%22http%3A%2F%2

我有以下脚本,可以访问jsonp提要并从中获取数据:

$(document).ready(function() {
    get_jsonp_feed();

    function get_jsonp_feed() {
        $.ajax({
            url: "http://query.yahooapis.com/v1/public/yql?q=%20SELECT%20*%20FROM%20html%20WHERE%20url%3D%22http%3A%2F%2Fnews.bbc.co.uk%2Fweather%2Fforecast%2F4276%3Fsearch%3Dgerrards%2520cross%26itemsPerPage%3D10%26region%3Dworld%26area%3DGerrards%2520Cross%22%20and%20xpath%20%3D%20'%2F%2Ftable%2Ftbody%2Ftr'&format=json&diagnostics=true&callback=cbfunc",
            type: 'GET',
            dataType: 'jsonp',
            jsonp: 'callback',
            jsonpCallback: 'cbfunc',
            error: function(xhr, status, error) {
                alert(xhr.responseText);
            },
            success: function(data) { 
                var itemList = data.query;

                alert(itemList.count);

                /*
                var buildHTML = [];

                for (var i = 0; i < 5; i++) {
                    buildHTML.push('<div class="container"><a href="' + itemList[i].link + '" class="title" target="_blank">' + itemList[i].title + '<br /><span class="dateandtime">' + itemList[i].pubDate + '</span></a></div>');
                }

                $('.portlet-content').empty().append(buildHTML.join('<hr />'))
                */
            }
        });
    }
});
我怎样才能得到它呢

下面是返回5的JSFIDEL:

以下是一些固定的代码,用于获取JSONP而不是XML:

$(document).ready(function() {
    get_jsonp_feed();

    function get_jsonp_feed() {
        $.ajax({
            url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%20%3D%20'http%3A%2F%2Fnews.bbc.co.uk%2Fweather%2Fforecast%2F4276%3F%26search%3Dgerrards%2520cross%26itemsPerPage%3D10%26region%3Dworld%26area%3DGerrards%2520Cross'%20and%20xpath%20%3D%20'%2F%2Ftbody%2Ftr'&format=json&callback=?",
            type: 'GET',
            dataType: 'jsonp',
            error: function(xhr, status, error) {
                alert(xhr.responseText);
            },
            success: function(data) {
                var itemList = data.query;

                alert(itemList.count);

                /*
                var buildHTML = [];

                for (var i = 0; i < 5; i++) {
                    buildHTML.push('<div class="container"><a href="' + itemList[i].link + '" class="title" target="_blank">' + itemList[i].title + '<br /><span class="dateandtime">' + itemList[i].pubDate + '</span></a></div>');
                }

                $('.portlet-content').empty().append(buildHTML.join('<hr />'))
                */
            }
        });
    }
});

要获取data.query.results.tr.td.div.abbr.title之类的数据,您必须在data.query.results.tr.td对象上使用for循环,以及任何其他具有同级的对象,或者使用XML获取原始html,将其放入文档片段并使用jQuery。

我已经更新了原始问题,以获取jsonp而不是XML。
$(document).ready(function() {
    get_jsonp_feed();

    function get_jsonp_feed() {
        $.ajax({
            url: "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%20%3D%20'http%3A%2F%2Fnews.bbc.co.uk%2Fweather%2Fforecast%2F4276%3F%26search%3Dgerrards%2520cross%26itemsPerPage%3D10%26region%3Dworld%26area%3DGerrards%2520Cross'%20and%20xpath%20%3D%20'%2F%2Ftbody%2Ftr'&format=json&callback=?",
            type: 'GET',
            dataType: 'jsonp',
            error: function(xhr, status, error) {
                alert(xhr.responseText);
            },
            success: function(data) {
                var itemList = data.query;

                alert(itemList.count);

                /*
                var buildHTML = [];

                for (var i = 0; i < 5; i++) {
                    buildHTML.push('<div class="container"><a href="' + itemList[i].link + '" class="title" target="_blank">' + itemList[i].title + '<br /><span class="dateandtime">' + itemList[i].pubDate + '</span></a></div>');
                }

                $('.portlet-content').empty().append(buildHTML.join('<hr />'))
                */
            }
        });
    }
});