Ajax xml没有成功

时间:2016-09-14 15:57:49

标签: javascript jquery html ajax

我正在尝试访问与其他文件位于同一文件夹中的book.xml文件,一切都很完美,但ajax功能不会成功。正在显示[object object]错误。 它是一个非常简单的xml。我通常通过php文件来做。但这次我必须直接这样做。我使用dataType =" xml"。似乎是一个问题。无论如何,请帮忙

html代码:

<body>

<h2>Hello there, ajax example is loading:</h2>
<div class="row container">

<button class="btn" onclick="gettingdata();">Get data from XML</button>

<hr>

<div class="data">

<table id="datatable">
<tbody>
  <tr>
    <th>Book name</th>
    <th>Author</th>
    <th>year</th>
    <th>price</th>
  </tr>

  </tbody>
</table>

</div>


</div>

</body>

js代码:

$.ajax({

            type: 'GET',
            url: 'books.xml',
            dataType: 'xml',
            success: function(result) {
                alert("into");

                $(result).find('book').each(function() {

                    $('.datatable tbody').append(
                        '<tr>' +
                            '<td>' +
                                $(this).find('title').text() + '</td> ' +
                            '<td>' +
                                $(this).find('author').text() + '</td> ' +
                            '<td>' +
                                $(this).find('year').text() + '</td> ' +
                            '<td>' +    
                                $(this).find('price').text() + '</td> ' +   
                        '</tr>');
                });
            },
            error: function (textStatus, errorThrown) {
                alert(''+textStatus+errorThrown);
            },
            complete: function(){
                alert("done");
            }
        });

2 个答案:

答案 0 :(得分:1)

您的ajax调用失败的原因)您的代码工作正常,只需将books.xml放在正确的位置即可。此外,xml文件中的数据应该有效。

并改变

 $('.datatable tbody').append

 $('#datatable tbody').append

我在我的系统上尝试了你的代码。它工作正常。只需进行以上更改。

答案 1 :(得分:0)

这是xml:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>

<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<year>2003</year>
<price>49.99</price>
</book>

<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>

</bookstore>