2
這裏是我的代碼:使用AJAX發送表單:是HTTP響應的DOM和數據加載嗎?
<script>
function loadPage() {
function sendFormHelper(callback) {
var url = "/same-as-current-url";
var serializedForm = $('#form').serialize();
$.post(url, serializedForm, function(data) {
callback(data);
});
}
$('#form').off('submit').on('submit', function() {
sendForm(function(data) {
var mainResultCount = $(data).find('#main-result-count');
var mainList = $(data).find('#main-list');
$('#main-result-count').html($(mainResultCount).html());
$('#main-list').html($(mainList).html());
loadPage();
});
return false;
});
}
$(function() {
loadPage();
});
</script>
<form id="form">
<!-- some stuff -->
</form>
<div id="main-result-count">
<!-- some stuff that can change -->
</div>
<div id="main-list">
<!-- some stuff that can change -->
</div>
正如你所看到的,而不是重新加載時提交表單的頁面,我抓住了事件,並使用AJAX發送。返回的數據是一個完整的HTML頁面,與用戶看到的頁面幾乎一樣。在那個頁面中,我用可能改變的數據更新當前的佈局。
我在頁面上其他幾個JS腳本,是相當長運行,並很像圖片,CSS,菜單等佈局數據做所有這些數據和DOM也當獲得AJAX請求的響應時加載,即使該內容沒有被顯示,或者是那種僅在瀏覽器解析時加載的東西,然後停留一種大字符串?
我無法找到我應該執行找到我自己:(
謝謝你!你的回答很棒,不僅因爲它很清楚,而且因爲那是我希望的那個'')'' – sp00m