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);

しかし今では、htmlに変更を加えるためにjsに行く必要はありません。これはもう少しjsコードですが、すべてを分離します。

于 2013-02-11T04:59:09.347 に答える