的一種方法是通過加載它包含的數據,像這樣一個JSON對象:
(你也可以在URL指向服務器的腳本文件讀取URL參數和輸出JSON對象)
例子:
//JQUERY:
$.ajax({
method: "GET",
dataType: "json",
url: "path/to/template.json",
success: function(data) {
var storage = data.template.html;
// do something here
}
});
//JSON FILE:
{
"template":
{
"html":"<div ...></div>",
"some_var":"some_value"
}
}
另一種方式,你可以只加載與參數的HTML文件...例如:將網址更改爲:url: "path/to/my_template.html?id=some_div"
或使用參數在URL中使用負載()它。
然後在每個模板文件中插入一個腳本來讀取變量並用請求的元素重寫文檔。
代碼:
//query.js
function getQueryString() {
var q = {}
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0; i<vars.length; i++) {
var pair = vars[i].split("=");
q[pair[0]]=pair[1];
}
return q;
}
$(document).ready(function() {
var $q = getQueryString();
if ($q.id) {
document.write($($q.id).html());
}
});
//template html files
//head section
<script type="text/javascript" src="query.js"></script>
我還沒有測試這一點,但我認爲它應該工作...
你需要把這個腳本在每個模板文件。
可能重複http://stackoverflow.com/questions/4260400/ jquery-load-into-variable-or-hidden-element) – j08691 2012-07-23 03:30:08
重複問題中的答案似乎不夠用。它建議在get調用中使用data.find函數,但在我的嘗試中,data.find函數似乎不可用。 – ryandlf 2012-07-23 03:42:55
請在投票之前閱讀我的評論以關閉重複。 – ryandlf 2012-07-23 04:52:19