0

目前,我的互动是这样的:

对我的站点控制器的 AJAX 调用 -> 通过 PHP 加载的 API 内容并输出 -> javascript 将视图直接输出到页面中

有没有办法从某种外部文件加载 HTML?

我不想最终做这样的事情,因为它会使更改 html 变得混乱。

html = '';

for (i = 0; i < jsonData.length; i++) {
    html += '<div class="blah"><b>Content goes here<b><br>';
        html += '<div class="blah_nested">' + jsonData[i].awesomeness + '</div>';
    html += '</div>';

    $("#some_div").html(html);
}
4

2 回答 2

1

创建一个包含该代码并在请求中获取 json 响应的 php 文件。

示例(data.php):

 <div class="blah"><b>Content goes here<b><br>
    <div class="blah_nested"><?php echo $_GET['jsondata']; ?></div>
 </div>

然后做:

html = "";
for (i = 0; i < jsonData.length; i++) {
     $.get('data.php?jsondata=' + jsonData[i].awesomeness, function(response){
        html += response;
     });
}

我进行了编辑以使其更直接地匹配他的原始代码。

于 2013-02-11T05:18:53.377 回答
0

是的,您可以制作一个包含所有可重复代码的 html 文件。

例如,在名为模板的 html 文件中,您可能有:

<div class="blah"><b>Content goes here<b><br>
    <div class="blah_nested"></div>
</div>

然后在您的 js 中,您可以使用 .get 来获取该代码。

       $.get('templates.html', function(html){
            var h = $(html);
            var blah = h.find('.blah').html();
       }); 

现在你已经得到了你的代码。您仍然必须将其放入 for 循环中,并且您仍然必须输入您的信息,这些信息如下所示:

$('blah_nested').text(jsonData[i].awesomeness);

但是现在你不用去你的js去修改html了。这是一个多一点的 js 代码,但它把所有的东西都分开了。

于 2013-02-11T04:59:09.347 回答