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

Okay, I figured this one out!

context.data = response;

becomes

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