で、結論としては、Django Templateで部分HTMLを作成してAjaxでHTMLを差し替える、というのが解の1つかと思いました。
つまり以下のようなHTMLを用意しておいて、
<html>
<head>
:
:
</head>
<body>
:
:
<div id="TargetForAjax"></div>
:
:
</body>
</html>
getElementById("TargetForAjax").innerHTML = (Templateで作成したHTML)としてやれば良いわけです。
prototype.jsを使用するのであれば、クライアント側のJavaScriptは以下のような感じです。
new Ajax.Request(
URL,
{
method: "get",
parameters: {arg: myArgument},
onSuccess: function(transport){
Element.update($("TargetForAjax"), transport.responseText);
},
onFailure: function(){alert("Something went wrong...") }
}
);
Ajaxというと受信するデータはついつい、XML/JavaScript/JSONなどを想定してしまいますが、部分HTMLでも良いわけですね。
0 件のコメント:
コメントを投稿