JSON對象:呈現出一個JSON效應初探到HTML頁面
{"id":75,"year":2011,"make":"Aston Martin","model":"V12 Vanquish"}
的jQuery:
function post() {
$("form").on("ajax:success", function(e, data, status, xhr) {
var json = JSON.parse(xhr.responseText);
$.each(json, function(k, v) {
$("#vehicle_record").append('<li class="'+k+'">'+v+'</li>');
});
});
}
HTML頁面輸出:
75
2011
Aston Martin
V12 Vanquish
75
2011
Aston Martin
V12 Vanquish
個問題:
- 爲什麼輸出渲染兩次? (我只希望這一次)
- 有沒有更好的方式來呈現JSON頁面? (請指教)
--UPDATE--
下通過UX的散步:
形成一個:名稱>單擊下一步>post
>形成兩個>選擇交通工具>單擊下一步>post
>看車選擇的是:添加其他車輛? Y(BACK形成兩個)/ N(繼續...)
我需要能夠獨立使用post
每個模型的無干擾。所以,我怎麼例如,所有提交給車輛模型的JSON對象? (我需要這個職位功能模塊化)
也許我可以做這樣的事情?:
function post() {
$("form").on("ajax:success", function(e, data, status, xhr) {
var json = JSON.parse(xhr.responseText);
var model = e.currentTarget.action;
renderOnPage(json, model);
});
}
function renderOnPage(data, model) {
if (model.match(/vehicles/)) {
$.each(data, function(k, v) {
$("#vehicle_record").append('<li class="'+k+'">'+v+'</li>');
});
}
}
看起來像「post」被稱爲兩次的方法!!! –
什麼是'ajax:success'事件?這不是一個標準的jQuery事件,AFAIK。 – Barmar
你可以在post方法中添加一個控制檯作爲第一行並查看它被調用的次數 –