Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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
Javascript 使用AJAX解析XML:未定义?_Javascript_Jquery_Ajax_Xml - Fatal编程技术网

Javascript 使用AJAX解析XML:未定义?

Javascript 使用AJAX解析XML:未定义?,javascript,jquery,ajax,xml,Javascript,Jquery,Ajax,Xml,我正在解析xml,我想要的是在解析后返回xml。我看不到图像。你能帮助我吗?我的代码如下或: HTML Javascript: $(document).ready(function () { $.mobile.loading("show"); $.ajax({ type: "GET", url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where

我正在解析xml,我想要的是在解析后返回xml。我看不到图像。你能帮助我吗?我的代码如下或:

HTML

Javascript:

$(document).ready(function () {
    $.mobile.loading("show");
    $.ajax({
        type: "GET",
        url: 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url=%27http://saigonpearl.info/trang-chu.html%27%20and%20xpath=%22//td[@class=%27table3%27]/table/tr[2]/td/table/tr/td/table/tr/td/a[contains(@href,%20%27http%27)]%20|%20//div[@class=%27tindang%27]/h3%20|%20//div[@class=%27detailsR%27]/p%22%20%20&diagnostics=true',
        dataType: "xml",
        success: parseXml
    });

    function parseXml(xml) {
        var gia, img, title;
        $(xml).find('p').each(function () {
            gia = $(this).html();

            $("ul#ds-canho").append('<li><img src="' + img + '">' + title + '<p id="gia"> ' + gia + '</p></li>')
            $('ul#ds-canho').listview('refresh');
            console.log(this);
        });

        $(xml).find('h3').each(function () {
            title = $(this).find('h3').text();

            console.log(this);
        });

        $(xml).find("img").each(function () {
            img = $(this).find('src').text();
            console.log(this);
            $.mobile.loading("hide");
        });
    }
});        
问题是您声明了title,但从未为其赋值,然后尝试将其连接到HTML中。可通过以下操作找到标题:

title = $(this).prev('h3').text();
这是因为标题是a,并且是的同级,因此可以使用jQuery来获取前面的同级

title = $(this).prev('h3').text();