jquery - load() JSON 数据,生成 HTML 表格并将其放置在 div 内

标签 jquery jquery-load

我可能有一个非常简单的 jQuery 问题 - 可能遗漏了一点点。

我有一个按钮,可以从 PHP 脚本加载 JSON 格式的数据:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
function showLastGame(id) {
        $('#top').load('http://preferans.de/cards-json.php?id=' + id + '&limit=1');
}
</script>

...

Show your last game &raquo;
<input type="button" onclick="showLastGame('DE13370')" value="Show">

效果很好 - 单击按钮后我可以看到加载的 JSON 数据。

但我实际上想将加载的数据传递给 JavaScript 函数(我正在尝试重用 dataTables 中的一个),该函数将构造一个返回 HTML 表作为字符串:

function renderGame(cardsTable, nTr) {
        var aData   = cardsTable.fnGetData(nTr);
        //console.dir(aData);
        // .... HTML table constructed here....
        return str;
}

请问如何做到这一点?

如何将生成的字符串放入 #top div 中?

最佳答案

使用常规jQuery.ajax()调用而不是 .load():

$.ajax({
    url: '/cards-json.php',
    data: {
        id: id,
        limit: 1
    },
    dataType: 'json',
    ...
}).done(function(data) {
    // data is your JSON - use it however you want here
    var topHtml = renderGame(arg1, arg2);
    $('#top').html(topHtml);
});

我假设 renderGame 函数是返回 #top 元素的 HTML 内容的函数;如果不是,则将其更改为正确的函数调用。

关于jquery - load() JSON 数据,生成 HTML 表格并将其放置在 div 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14481983/

相关文章:

javascript - 2个表,需要为每个匹配行设置最大高度的行

jquery - float 元素不能正确 float

javascript - 在 javascript 函数上创建回调

jQuery 如何在单击后退按钮时加载内容

jquery - 如何停止 spin.js

jquery - 淡出其中一张后定位 3 张图像

javascript - jQuery load() 来自不同页面的图像并在脚本中使用它们

javascript - Jquery load() 不加载 div 中的脚本标签

javascript - 在使用 jQuery 加载图像之前显示加载图像?

javascript - 当我从代码中删除警报时,jQuery 代码不起作用?