0

非同期で取得されるJSONコレクションを提示しようとしていますが、FireBugを使用すると、最終的に次のようになります。

[{"Id":"00000010"},{"Id":"00000002"},{"Id":"00000003"}]

これは機能しませんが、コレクションを次のように宣言した場合:

[{ "Id": "00000004" }, { "Id": "00000005" }, { "Id": "00000006"}]

これは機能し、FireBugを使用すると、これがわずかに異なることがわかります。

[Object { Id="00000004"}, Object { Id="00000005"}, Object { Id="00000006"}]

データを同期的に取得してコレクションを宣言するときに、なぜ違いが生じるのですか?これを機能させるための私のオプションは何ですか。

ありがとう。

アップデート

私もsammy.jsを使用しています。JavaScriptは次のとおりです。

var app = $.sammy('div[role="main"]', function () {

    this.use('Mustache', 'html');

    this.get('#/', function (context) {
        this.load('/data')
            .then(function (response) {

                context.blah = 'blah';
                context.data = response;

                var data2 = [{ "Id": "00000004" }, { "Id": "00000005" }, { "Id": "00000006"}];
                context.data2 = data2;

                var templateUrl = '@Url.Content("~/Templates/template.html")';

                context.partial(templateUrl);
            });
    });
});

$(function () {
    app.run('#/');
});

テンプレートは次のとおりです。

<h1>{{blah}}</h1>
<ul>
{{#data}}
<li>{{Id}}</li>
{{/data}}
</ul>
<ul>
{{#data2}}
<li>{{Id}}</li>
{{/data2}}
</ul>
4

1 に答える 1

0

さて、私はこれを理解しました!

context.data = response;

になります

context.data = JSON.parse(response);
于 2012-04-09T20:20:38.243 に答える