0

JSON 不工作。这是下面的代码。

ajax.aspx 文件:-

 <form id="form1" runat="server">
    <div id="dictionary">
</div>
 <div class="letters">
<div class="button" id="letter-a">
<h3>A</h3>
<button type="button">Load</button> 
</div>
<div class="button" id="letter-b">
<h3>B</h3>
<button type="button">Load</button> 
</div>
<div class="button" id="letter-c">
<h3>C</h3>
<button type="button">Load</button> 
</div>
<div class="button" id="letter-d">
<h3>D</h3>
<button type="button">Load</button> 
</div>
</div>
</form>

这是 b.json 文件:_

[
{
"term": "BACCHUS",
"part": "n.",
"definition": "A convenient deity invented by the ancients as an
excuse for getting drunk.",
"quote": [
"Is public worship, then, a sin,",
"That for devotions paid to Bacchus",
"The lictors dare to run us in,",
"And resolutely thump and whack us?"
],
"author": "Jorace"
},
{
"term": "BACKBITE",
"part": "v.t.",
"definition": "To speak of a man as you find him when he can't
find you."
},
{
"term": "BEARD",
"part": "n.",
"definition": "The hair that is commonly cut off by those who
justly execrate the absurd Chinese custom of shaving the head."
},
]

ajax.js 文件:-

$(document).ready(function () {
    $('#letter-a button').click(function () {
        $('#dictionary').load('html_ajax.htm');
        alert('Loaded!');
    });
    $('#letter-b button').click(function () {
        $.getJSON('b.json', function (data) {
            $('#dictionary').empty();
            $.each(data, function (entryIndex, entry) {
                var html = '<div class="entry">';
                html += '<h3 class="term">' + entry['term'] + '</h3>';
                html += '<div class="part">' + entry['part'] + '</div>';
                html += '<div class="definition">';
                html += entry['definition'];
                if (entry['quote']) {
                    html += '<div class="quote">';
                    $.each(entry['quote'], function (lineIndex, line) {
                        html += '<div class="quote-line">' + line + '</div>';
                    });
                    if (entry['author']) {
                        html += '<div class="quote-author">' + entry['author'] +
'</div>';
                    }
                    html += '</div>';
                }
                html += '</div>';
                html += '</div>';
                $('#dictionary').append($(html));
            });




        });
    });
});

单击按钮 A 有效,但 B 无效。我是 Ajax 的新手。所以我希望我遗漏了一些东西。

哪里可能是错误。

谢谢

4

1 回答 1

1

根据jsonlint您的 b.json 文件无效。您应该删除最后一个逗号以使其有效。

于 2012-08-09T11:47:13.290 回答