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 に答える