c# - 如何将 jquery 模板与 JSON 数据一起使用?

标签 c# jquery ajax json jquery-templates

我正在尝试编写一些 jquery 代码来从云帐户中检索服务器列表并将它们显示在表格中。当我加载我的页面时,我的 javascript 会执行并返回正确的 JSON,但是当我尝试使用 jquery 模板生成我的 html 时,我从未得到任何输出。谁能帮我弄清楚我的问题出在哪里?

Javascript 获取服务器数据

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            url: '../../api/server/getservers',
            type: 'POST',
            success: function (result) {
                $('#serverTemplate').tmpl(result).appendTo('#serverTable');
            },
        });
    });
</script>

Jquery 模板 Javascript

<script id="serverTemplate" type="text/x-jQuery-tmpl">
    {{each servers}}
        <tr>
            <td>${status}</td>
            <td>${name}</td>
        </tr>
    {{/each}}
</script>

HTML

<table>
    <thead>
        <tr>
            <th>Status</th>
            <th>Server Name</th>
        </tr>
    </thead>
    <tbody id="serverTable">

    </tbody>
</table>

JSON 示例

{
    "servers": [
        {
            "progress": 100,
            "id": 11111111,
            "imageId": 1,
            "flavorId": 1,
            "status": "ACTIVE",
            "name": "SERVER-1",
            "hostId": "abcdefghijklmnopqrstuvwxyz",
            "addresses": {
                "public": [
                    "1.1.1.1"
                ],
                "private": [
                    "2.2.2.2"
                ]
            },
            "metadata": {}
        },
        {
            "progress": 100,
            "id": 22222222,
            "imageId": 2,
            "flavorId": 2,
            "status": "ACTIVE",
            "name": "Server-2",
            "hostId": "zxywufvslakdkdkdkdkdkdkdkdk",
            "addresses": {
                "public": [
                    "3.3.3.3"
                ],
                "private": [
                    "4.4.4.4"
                ]
            },
            "metadata": {}
        }
    ]
}
  • jQuery 版本 1.5.1
  • jQuery-tmpl 测试版 1

最佳答案

我通过更改成功函数并将 JSON 的显式解析添加到数组来解决了这个问题。

var servers = jQuery.parseJSON(result);
$('#serverTemplate').tmpl(servers).appendTo('#serverTable');

关于c# - 如何将 jquery 模板与 JSON 数据一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508902/

相关文章:

javascript - 我将如何检索 JSON 编码的 PHP 回显到 AJAX 脚本?

javascript - 跨域请求 对 AWS S3 的 AJAX 请求有时会导致 CORS 错误

c# - 如何让 Debug.WriteLine 在 Release 模式下写入输出窗口?

javascript - 删除动态添加到 ng-repeat(angularjs) 的值

jquery - HTML 数值输入字段模式。

javascript - 当我尝试将 "post"请求发送到 SailsJS 服务器时,出现 403 CSRF 不匹配

c# - 如何根据数据库优先方法(.edmx)的父删除自动删除子?

C#:Windows 7 机器的登录历史记录

c# - Mvc,外键关系

jquery - 我无法使用 JQuery : Cannot find name '$'